所以对于我正在编写的一段代码,我想创建一个 128 位哈希 - 就像 MurmurHash3 库中的哈希一样(https://pypi.python.org/pypi/mmh3/2.5.1(
注意:我还想在我已经作为字符串的哈希中添加盐
我环顾四周,有人建议将 SHA256 哈希截断为 128 位,但是有没有办法使用 Crystal 获得 SHA256?
我知道它在其库中支持 MD5 和 SHA1,但我甚至可以在代码中使用 OpenSSL 库吗?这是否需要操作系统运行OpenSSL?
编辑:
Crystal (https://crystal-lang.org/api/0.24.1/OpenSSL/Digest.html( 中有一个OpenSSL::Digest
模块,但我如何生成一个哈希以最终被截断为 128 位
OpenSSL模块生成SHA256摘要或OpenSSL支持的任何其他算法。不幸的是,我不建议截断,因为这不是真实哈希的准确表示,并且发生冲突的可能性更高。你有没有想过把杂音移植到水晶,我相信很多人都想看看图书馆。我的另一个建议是只使用 256 位作为更安全的。