SHA256或SHA512 - 为散列密码的最佳实践?(Best practice for has

2019-06-26 12:02发布

我目前使用SHA256与盐散列我的密码。 它是更好地继续使用SHA256或者我应该改变SHA512?

Answer 1:

切换到SHA512将很难让你的网站更安全。 你不应该写自己的密码散列函数。 相反,使用现有的实现。

SHA256和SHA512的消息摘要 ,他们从来就不是密码散列(或密钥推导)功能。 (虽然消息摘要可以使用的构建块一KDF,诸如与HMAC-SHA1 PBKDF2)。

密码散列函数应该抵御字典攻击和彩虹表。 为了抵御字典攻击,密码散列方案必须包括工作因素作出可行的是它慢。

目前,最好的选择可能是Argon2。 密码散列函数这家在2015年获得了密码哈希处理比赛。

如果Argon2不可用,唯一的标准化的密码散列或密钥推导功能PBKDF2,这是一个老气NIST标准。 其他的选择,如果使用的是标准不要求,包括bcryptscrypt。

维基百科有这些功能的页面:

  • https://en.wikipedia.org/wiki/Argon2
  • https://en.wikipedia.org/wiki/Bcrypt
  • https://en.wikipedia.org/wiki/Scrypt
  • https://en.wikipedia.org/wiki/PBKDF2


Answer 2:

这已经回答得相当好,如果你问我: https://stackoverflow.com/questions/3897434/password-security-sha1-sha256-or-sha512

杰夫对哈希有趣的讯息,也: http://www.codinghorror.com/blog/2012/04/speed-hashing.html

请注意,SHA512是慢了很多计算比SHA256。 在安全散列的背景下, 这是一种资产。 较慢的计算哈希意味着它需要更多的计算时间来破解,所以如果你能负担得起的成本计算SHA512会为此更加安全。



Answer 3:

在大多数64位处理器作为SHA256ses 32位数学,即常常略慢的动作计算出的时SHA512可以是显著更快。



文章来源: Best practice for hashing passwords - SHA256 or SHA512?