PHP - 密码安全[加密]

时间:2017-07-15 02:43:02

标签: php

请原谅我的知识,因为我仍在学习自己的代码,而不是专家。

我使用带有吹制鱼的地毯$ 2a $ 10 $,我的安全密码将显示例如,$ 2a $ 10 $ 137276602359697140be5eISqj55.fGmbUo4PEZoLRpWmxspLiWJK

从$ 2a $ 10开始,他们会知道我使用的方式,它会影响我吗? 他们可以 - >黑客甚至对我的安全密码做任何事情,因为我使用随机盐/密钥哈希并加密? (彩虹表)。

因为在看到Password IMAGE

后我感到害怕

最后,最后一个问题。听说循环使攻击期间获得密码结果的时间更长/更慢,但是它对$ hash做了什么?最大循环限制?它有副作用吗?

for($i = 0; $i < 100000; $i++) {
$hash = crypt('sha512', $hash);

}

感谢您的阅读,我们将非常感谢您的回答。 此致,Pro Pop先生!

1 个答案:

答案 0 :(得分:3)

在这一文本背后,我了解到您正在寻找在数据库中存储密码的正确方法。

使用password_hash()password_verify()函数正确构建哈希值。

默认情况下,它们依赖于BCrypt算法,它本身实现了盐加上指数级别的重复编码,确保密码的破解速度更慢。

不要打扰复杂的方式,这条道路在PHP中是正确的标准,你应该坚持这条道路。

修改

请注意您的更新问题:对于知道算法有一点帮助的攻击者来说是的,但它并没有阻止任何攻击删除哈希的那部分。

一旦你的哈希泄露,真正的问题是他们为什么泄露。很可能你对哈希执行的任何修改都将写在源代码中,并不是真正的秘密。

保持在路上,保持安全。