制作和储存盐的最佳途径

这个问题在这里已经有了答案:

  • 基于表单的网站身份验证的权威性指南[已关闭] 12个答案

  • 现在PHP已经内置了使用行业标准bcrypt算法的password_hashpassword_verify函数。 使用它们 - 他们为你管理盐。

    如果你停留在PHP 5.4或更低版本,那么有一个backport:https://github.com/ircmaxell/password_compat


    正如你所说,盐的重点不是一个额外的秘密。 密码是秘密。 密码需要很强。 如果密码不够强烈,则无论哈希如何,都可以直接在登录表单上猜出它,而不会对哈希造成任何攻击。 盐的重点完全在于你自己说的:

    相同密码的相同散列

    盐的唯一目的是迫使潜在的攻击者单独暴力破解每一个密码,而不允许攻击者规模经济。 它不会使任何一个单独的密码变得更强大,但它使得所有密码在一起完全不可行以暴力。

    因此:

  • 硬编码盐:不
  • 随机盐:是的,你的“缺点”是错误的
  • 基于输入的盐:不,这不是盐,它只是一个改变的哈希算法
  • 在PHP中,使用password_hash ,它生成salt并将其存储在散列结果中,因此您不必单独担心它。

    链接地址: http://www.djcxy.com/p/3717.html

    上一篇: Best way to make and store SALT

    下一篇: SSL Certificate validation