Remove dependency on BCL's SHA512
Add tests