我正在阅读有关保护密码的内容,并希望获得有关我的代码是否正确的反馈。我正在尝试使用河豚并crypt()
一起防止任何人解密密码。另外,我有一个问题。当我存储密码时,我假设我还必须存储变量$string
,以便在用户登录时再次使用它来验证用户,对吗?
function unique_md5() {
mt_srand(microtime(true)*100000 + memory_get_usage(true));
return md5(uniqid(mt_rand(), true));
}
//unique_md5 returns a random 16 character string
$string = '$2a$07$' . unique_md5();
$password = 'password';
$password = trim($password);
$protected_password = crypt($password, $string);
//then store the variables $string and $protected_password into the database