请原谅我的知识,因为我仍在学习自己的代码,而不是专家。
我使用带有吹制鱼的地毯$ 2a $ 10 $,我的安全密码将显示例如,$ 2a $ 10 $ 137276602359697140be5eISqj55.fGmbUo4PEZoLRpWmxspLiWJK
从$ 2a $ 10开始,他们会知道我使用的方式,它会影响我吗? 他们可以 - >黑客甚至对我的安全密码做任何事情,因为我使用随机盐/密钥哈希并加密? (彩虹表)。
因为在看到Password IMAGE
后我感到害怕最后,最后一个问题。听说循环使攻击期间获得密码结果的时间更长/更慢,但是它对$ hash做了什么?最大循环限制?它有副作用吗?
for($i = 0; $i < 100000; $i++) {
$hash = crypt('sha512', $hash);
}
感谢您的阅读,我们将非常感谢您的回答。 此致,Pro Pop先生!
答案 0 :(得分:3)
在这一文本背后,我了解到您正在寻找在数据库中存储密码的正确方法。
使用password_hash()
和password_verify()
函数正确构建哈希值。
默认情况下,它们依赖于BCrypt算法,它本身实现了盐加上指数级别的重复编码,确保密码的破解速度更慢。
不要打扰复杂的方式,这条道路在PHP中是正确的标准,你应该坚持这条道路。
修改强>
请注意您的更新问题:对于知道算法有一点帮助的攻击者来说是的,但它并没有阻止任何攻击删除哈希的那部分。
一旦你的哈希泄露,真正的问题是他们为什么泄露。很可能你对哈希执行的任何修改都将写在源代码中,并不是真正的秘密。
保持在路上,保持安全。