【问题标题】:Computing a (Non-MD5) 128 bit hash with salt用盐计算(非 MD5)128 位哈希
【发布时间】:2018-03-12 23:23:05
【问题描述】:

所以对于我正在编写的一段代码,我想创建一个 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 位的哈希

【问题讨论】:

    标签: crystal-lang


    【解决方案1】:

    您可以使用 OpenSSL 模块生成 SHA256 摘要或 OpenSSL 支持的任何其他算法。不幸的是,我不建议截断,因为这不是真实哈希的准确表示,并且发生冲突的可能性更高。你有没有想过将 murmur 移植到 Crystal 中,我相信很多人都喜欢看到这个库。我的另一个建议是只使用 256 位,因为它更安全。

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 1970-01-01
      • 2011-12-08
      • 2017-05-04
      • 2017-01-27
      • 1970-01-01
      • 2011-08-27
      • 2012-07-12
      • 2015-12-18
      相关资源
      最近更新 更多