我在下面有一段代码,它回显了一个加盐密码:
$pass = rand();
$pass = md5($pass);
$pass = substr($pass, 0, 15);
$pass = md5(md5("g3f".$pass."rt4"));
现在,如果我回显 $pass,那么它将输出例如:
8723d9c8a8b2af798be25fd07ab0ff0a
但是我想要做的是回显密码本身,例如,它不会显示上面的内容,而是显示“密码”字符串。
如何做到这一点?
谢谢
最佳答案
不要覆盖变量 $pass
;
$pass = rand();
$md5pass = md5($pass);
$md5pass = substr($md5pass, 0, 15);
$md5pass = md5(md5("g3f".$md5pass."rt4"));
MD5 散列尤其是使用盐进行散列是一种单向过程。你不能逆转它。
任何好的密码系统都不会存储原始密码,而是存储散列的副本,然后通过散列输入并比较两者来验证用户输入的正确性。
关于php - 如何将加盐密码显示为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12800974/