因此,对于我正在编写的一段代码,我想创建一个 128 位哈希 - 就像 MurmurHash3 库中的那个 ( https://pypi.python.org/pypi/mmh3/2.5.1 )
注意:我还想在我已经作为字符串的哈希中添加一个盐
我环顾四周,有人建议将 SHA256 哈希截断为 128 位,但是有没有办法使用 Crystal 获取 SHA256?
我知道它在其库中支持 MD5 和 SHA1,但我什至可以在代码中使用 OpenSSL 库吗?这是否需要操作系统运行 OpenSSL?
编辑:
OpenSSL::Digest
Crystal 中有一个模块(https://crystal-lang.org/api/0.24.1/OpenSSL/Digest.html)但是我如何生成一个哈希值以最终被截断为 128 位
您可以使用 OpenSSL 模块生成 SHA256 摘要或 OpenSSL 支持的任何其他算法。不幸的是,我不建议截断,因为这不是真实散列的准确表示,并且有更高的冲突机会。你有没有想过把 mumur 移植到 Crystal 上,我相信很多人都想看看图书馆。我的另一个建议是只使用 256 位,因为它更安全。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句