在PHP/MYSQL中使用的最佳哈希算法

Gat*_*ura 17 php mysql

哪个是用于加密php/mysql中密码的最佳推荐算法

Tra*_*isO 20

带盐的SHA-512是一种很好的安全方式来对密码进行哈希处理.如果那不可用,你就有了SHA-1,但是现在它的安全性被认为有点弱,特别是如果你不使用盐.

  • +1,Salt SHA-512是最好的选择. (3认同)
  • 显然SHA-512更强大,现在你只是一个聪明的屁股. (2认同)
  • -1这个答案毫无希望地过时了.使用PBKDF2,bcrypt或scrypt. (2认同)
  • 你对一个 3 岁的帖子投了反对票,打赌你现在觉得自己很聪明……看看日期。有人可以从今天起 6 个月后发布最好的散列方法,然后它会变得比今天的新方法更糟。它的常识代码机会很快! (2认同)

小智 7

现在大多数人都认为SHA并不是最好的方法,因为这些算法在抵抗蛮力攻击时表现不佳.最好使用bcrypt,scrypt或PBKDF2 来看这个Q&A.

这是一个如何在php中实现bcrypt的指南.


小智 6

  1. 目前的想法是使用SLOW哈希算法.这导致"暴力掠夺者"花费大量时间来产生所有这些尝试.

  2. 更聪明的是,在任何给定的5分钟内,当5次登录尝试从同一IP失败时,通过IP跟踪URI请求并进行解释.

  3. Bank-smarter仍然要做#1,#2,并且一旦第一个成功,也需要二次通过挑战.第二次挑战时的三重失败导致锁定.

3级安全性非常非常强大.可能太强了.


phu*_*ehe 1

我会使用 php 的crypt()函数,因为无论如何密码都不会被解密。当我需要检查新输入的密码时,我只需加密该密码并比较两个结果

  • -1 完全无意义:根据手册:“crypt() 将使用基于标准 Unix DES 的算法或系统上可能可用的替代算法返回散列字符串。” (14认同)
  • @Johan您可以使用“crypt()”轻松更改要使用的哈希函数、盐和轮数。 (6认同)