用bcrypt重新加密sha1密码

时间:2016-07-11 16:18:35

标签: php passwords sha1 bcrypt

因此,任何人都有我存储用户的表,现在使用SHA1保存密码,我想升级密码以使用bcrypt。

这是最好的方法吗?

创建一个脚本,该脚本占用表中的每个用户并使用bcrypt密码更新表格?我更感兴趣的是如何将SHA1传递转换为bcrypt(php)

1 个答案:

答案 0 :(得分:4)

您需要密码的明文版本才能对其进行加密,而单向散列的要点是您无法对其进行反转。现在,SHA1是一个弱哈希,所以你可能会强制它,但你可能最终得到一个碰撞并找到不正确的合适输入(并且它将需要大量的处理能力)。

重写您的逻辑,以便当有人登录时,如果您有密码,请检查加密的密码,如果您没有,则检查sha1密码。

提示用户在登录时更改密码,但仍有密码sha1。

考虑一段时间后从提示移动到坚持。

考虑强制重置密码,每个人仍然使用sha1密码并发送密码重置电子邮件。当你这样做时,请确保你看起来不像是网络钓鱼攻击!