加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

哪个是最好的PHP密码哈希算法?

发布时间:2020-12-13 13:45:31 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 Secure hash and salt for PHP passwords14个 我刚读了一个 post 来创建一个登录系统,在阅读时我看到了密码哈希. We are going to store an sha256 hash which is a string always containing 64 characters. 本文正在教授使用sha256哈希函数.
参见英文答案 > Secure hash and salt for PHP passwords14个
我刚读了一个 post来创建一个登录系统,在阅读时我看到了密码哈希.

We are going to store an sha256 hash which is a string always
containing 64 characters.

本文正在教授使用sha256哈希函数.阅读本文之后,我没有停下来开始搜索更多关于创建安全登录系统的内容,然后我在wikiHow之前提出了这篇文章.在本文中,他们使用的是sha512哈希函数.这真的让我感到困惑,我将在下一个登录系统中使用哪个功能.我仍然搜索谷歌更好的文章,并在crackstation找到这篇文章.作者推荐sha256和sha512.

Only cryptographic hash functions may be used to implement password
hashing. Hash functions like SHA256,SHA512,RipeMD,and WHIRLPOOL are
cryptographic hash functions.

我认为我的搜索结束了,我可以使用sha256或sha512功能,但在搜索更多时我发现了这个SO Question. Robert K接受的答案对我来说有新的东西.关于我以前从未听过的事情是bcrypt和scrypt.

所有这些东西都写在大约2到4年前.

这些天用于PHP的最佳密码哈希算法是哪一种?

这里最重要的是你想要选择一个缓慢的哈希.任何这些哈希值唯一可行的攻击向量是强制攻击.这意味着,攻击者只能一个接一个地尝试所有可能的密码,使用与您相同的算法对它们进行哈希处理,并将它们与哈希值进行比较.一个密码需要的时间越长,找到匹配就越不可行.

SHA系列算法设计得很快,因为它们不是为了这个目的而设计的.因此,它们本身有点不适合密码散列;虽然它们可以用作使它们适合的算法的一部分,例如PBKDF2(简而言之,重复散列数千次来拉伸它).

bcrypt和scrypt明确地设计得很慢,并且更适合密码散列. bcrypt在CPU功率方面设计非常昂贵,而scrypt在内存消耗方面设计得非常昂贵.使用当今硬件的CPU功率可以比内存更好地扩展,因此scrypt目前被认为是最好的选择.虽然它目前非常前沿,但在可用代码方面几乎没有得到支持.另一方面,bcrypt由PHP直接使用password_hash支持.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读