Ind*_*ema 2 php security encryption algorithm hash
哪个是PHP中最安全的密码哈希算法?
速度是无关紧要的,因为我在一段固定的时间内迭代哈希(而不是固定的迭代次数).我感兴趣的是数学实力.
我的直觉告诉我它是漩涡,是最大和最慢的一群.那还是SHA-512.哪位专家推荐?
有没有其他算法提供超过512位的哈希?
使用该功能password_hash()
.如果您允许(通过指定PASSWORD_DEFAULT
),它将选择推荐的算法,该算法目前是BCrypt.如果算法更改,则不必更改代码.如果您愿意,也可以使用常量明确选择此算法PASSWORD_BCRYPT
,但这反映了在未来版本中可用时自动更新为更好算法的意图.
您可以使用它password_verify()
来验证密码.
PHP会将使用过的算法添加到哈希值以及盐中,因此它将知道验证所需要知道的所有内容.这样,当新算法在较新版本的PHP中可用时,它们将自动使用,并且这些密码将具有更强的哈希值.
password_needs_rehash()
如果默认值发生变化,您可以使用它来检查是否需要重新设置密码.
如果密码有效,您可以将其重新存储并存储.这样,当用户登录时,您将使用较弱的哈希值更新旧密码.