哈希函数使用和更受欢迎

时间:2013-05-06 07:03:45

标签: security hash

我知道所有哈希函数的列表太长了。我只是想知道在日常IT实践任务中使用的最受欢迎的那些。我知道MD5,SHA1,SHA2(256和512)非常受欢迎。我可以添加到这5种算法中的其他哈希函数吗?

我想开发一个哈希工具,我只想包含那些开发人员真正需要的算法。

6 个答案:

答案 0 :(得分:6)

  • MD5,SHA-1 - 常用,过去是安全的,但不再具有抗冲击性
  • SHA-2 - 常用,安全。这是一系列具有不同输出尺寸的功能。
  • SHA-3 - 尚未指定,但在此之后可能会变得流行。等待规格。将是一个功能家庭。
  • CRC32 - 不安全,但作为校验和非常常见
  • MD4,RIPEMD160 - 没有看到那些用于散列文件,但它们仍然在其他一些环境中。 MD4坏了,RIPEMD系列的一些老成员坏了,但RIPEMD160仍然是安全的。只有我见过漩涡才是TrueCrypt的KDF。
  • TTH / TigerTreeHash - 在某些文件共享上下文中使用,仍然安全,但安全边际越来越薄
  • ED2K - 用于某些文件共享上下文,基于MD4,破坏的碰撞阻力
  • Skein,Blake2 - Skein是SHA-3决赛选手,Blake2来自一个。软件相对较快,偶尔使用但不常见。作为Blake2的贡献者,我希望它变得更受欢迎:)

除了哈希之外,你命名为CRC32非常常见,TTH / ED2K用于文件共享上下文,但很少在其他地方使用。在文件哈希上下文中没有看到太多其他哈希值。

答案 1 :(得分:3)

最广泛使用(并在SSL / TLS,OpenPGP,SSH标准中定义)是:

  • CRC32 - 简单的校验和,用于ZIP,OpenPGP和其他数量 标准。
  • MD2,MD5 - 太老了,MD5太弱了 - 被认为很弱。
  • SHA1 - 标准事实上,几乎用于所有地方(DSA算法是 仅用于SHA1,这也是广泛的使用区域。)
  • SHA224 / 256/384/512 - 应取代SHA1,并与DSA密钥一起使用 大于1024位,以及ECDSA签名
  • RipeMD160 - 用于OpenPGP,以及一些X.509证书。

还有其他哈希算法(你可以在维基百科上获得完整列表),但很可能你在现实生活中永远不会遇到它们。

答案 2 :(得分:2)

bcryptscrypt。这些用于密码散列。

bcrypt已存在很长时间了,而且它被认为是安全的。 scrypt是一个较新的版本,它会应用一些内存密集型操作来防止使用GPU进行暴力攻击。

答案 3 :(得分:0)

  • 如果您只想在工具中添加哈希函数,无论安全性如何,都可以实施MD-4和NIST SHA-1和SHA-2竞赛决赛入围者。
  • 对于更新且更安全的哈希函数,可以实现SHA-3获胜者(Keccak)。

NIST hash function competition

SHA-3

答案 4 :(得分:0)

首先,您需要确定是否需要快速,不安全的哈希函数或缓慢安全的哈希函数。

其中最好的是:

  • 快速:SS324 / armv7硬件上的CRC32,Murmur3,CityHash,FNV
  • 安全:SHA-3(Keccak),SHA-2,BLAKE2

请参阅https://code.google.com/p/smhasher/w/list了解一些受欢迎的测试框架。

[编辑说明:上一页。有bcrypt,scrypt作为安全+慢哈希函数,但它们只是密码哈希函数]

答案 5 :(得分:-2)

我建议您研究DES和TDES,他们使用密钥进行加密,如果您需要使用公钥/私钥加密/解密数据,这将是您的不错选择。

相关问题