有没有办法衡量哈希算法的强度?例如,用 PHP 编写的标准化测试可能用于衡量 crypt
与 sha1
的强度?
力量可以指代各种事物;一台家用电脑通过彩虹表或字符循环、密码中的位数长度或符号和数字的使用来发现密码的能力。与发现符号或字符数的简单正则表达式不同,可以确定强度的 PHP 函数的要求是密码、 key 或盐的破解速度。
我想知道,没有意见,从 PHP 的哈希算法列表中,哪种哈希算法最好。
foreach (hash_algos() as $algorithm) {
// test strength
}
最佳答案
哈希的强度是一个数学/理论概念,即是否发现任何理论或实践差异。
如果没有公布的弱点,那么优势就是摘要的长度。例如。 SHA-1 有 160 位输出,而 SHA-256 有 256 位输出。
“以编程方式”测试强度的唯一方法是暴力破解大多数毫无意义的哈希值。
最好自己研究每个哈希,而不是尝试以编程方式确定“最佳”哈希。
关于php - 如何衡量哈希算法强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9966635/