我的数据库中的密码现在是文本,我只是认为我可以使用md5()
函数将密码转换为哈希值,但现在我想将数据库中的所有用户转换为哈希任何想法这样做,所以我不需要告诉每个人重新输入他们的密码,
此问题与Convert text passwords in database to hashed passwords?之类的任何其他问题不重复,因为我想知道如何在PHP中执行此操作,Secure hash and salt for PHP passwords也不会重复,因为我想更改所有密码已存在于我的数据库中我不应该要求我的所有用户更改他们的密码,如上所述,
有什么想法吗?
答案 0 :(得分:1)
你需要为你的例子做的就是通过哈希运行每个密码(我建议不是md5,因为那个密码已经存在已知的弱点)并将哈希值存回。然后,当有人尝试登录时,取出密码并对其进行哈希处理,然后将哈希值与数据库中的哈希值进行比较。如果您当前存储明文,则不必要求用户租用任何内容,只需散列已经存在的内容即可。
答案 1 :(得分:0)
Md5加密不安全,但是我已经为您加密了。
password_hash() example using Argon2i
<?php
echo 'Argon2i hash: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
?>