所以我正在开发一个使用php,mysql和javascript的网站,还有'sha512'来使用代码加密成员的密码:
$password = filter_input(INPUT_POST, 'p', FILTER_SANITIZE_STRING);
$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));
$password = hash('sha512', $password . $random_salt);
Run Code Online (Sandbox Code Playgroud)
该p值从正在添加:
function formhash(form) {
var password = randomString();
var p = document.createElement("input");
form.appendChild(p);
p.name = "p";
p.type = "hidden";
p.value = hex_sha512(password.value);
password.value = "";
form.submit();
}
function randomString() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for( var i=0; i < 9; i++ )
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
Run Code Online (Sandbox Code Playgroud)
我的想法是通过输入他们的电子邮件重置用户密码并生成随机的8个字符,然后将其直接发送到他们的电子邮件.我现在面临的问题是如何获取已生成的实际密码(未加密),以便它可以自动发送到请求重置密码的成员的电子邮件中?