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

php – 这个哈希对安全性有优势吗?

发布时间:2020-12-13 22:01:47 所属栏目:PHP教程 来源:网络整理
导读:有什么优势吗? sha1(sha1(sha1($password. $salt))); 基本上有多个sha1经文只有一个sha1 sha1($password. $salt); 解决方法 不要,我再说一遍,不要试图通过做“特殊”的事情来使你的密码更安全. 首先,sha1(sha1(sha1($input)))仅具有副作用,以增加每次迭代的
有什么优势吗?

sha1(sha1(sha1($password. $salt)));

基本上有多个sha1经文只有一个sha1

sha1($password. $salt);

解决方法

不要,我再说一遍,不要试图通过做“特殊”的事情来使你的密码更安全.

首先,sha1(sha1(sha1($input)))仅具有副作用,以增加每次迭代的碰撞机会*.增加碰撞的机会是一件非常糟糕的事情.

为什么不相信由该领域的实际专家制作的图书馆,而不是亲自动手做自己的密码学?使用Portable PHP password hashing framework.

PHPass实际上使用bcrypt,这是一种旨在防止彩虹表,字典和暴力攻击的算法.您可以使用多个轮次对其进行初始化:轮次越高,计算哈希值所需的时间越长.这样,如果处理能力增加,您可以创建更强的哈希值.

*对sha1()的第一次调用需要无限输入,并在2160输出中创建一个.第二次迭代需要2160个输入并且在x个输出中创建一个,其中x <= 2160.第三次迭代采用x输入并且在y个输出中创建一个,其中y <= x <= 2160. 为什么每次调用sha1()都会减少可能的输出量?因为sha1()背后的算法不是为哈希的一对一匹配而设计的.从理论上讲,如果你要散列每个可能的哈希,你肯定会发生冲突.

(编辑:李大同)

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

    推荐文章
      热点阅读