Use SHA.jl to provide backing checksum support for cross-platform compatibility

Since these don't need to be checked by humans, what's the down side of using 512?