php – 这个哈希对安全性有优势吗?
有什么优势吗?
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()背后的算法不是为哈希的一对一匹配而设计的.从理论上讲,如果你要散列每个可能的哈希,你肯定会发生冲突. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |