在阅读了有关密码编码的正确方法的半天后,我感到压力很大,我选择这样做。但是我不确定这是否是最好的方法。提前谢谢。
$password= "abc123";
$salt = mcrypt_create_iv(32, MCRYPT_RAND);
$this_will_be_stored_in_db= crypt($password,$salt);
echo $this_will_be_stored_in_db;
答案 0 :(得分:0)
问题是crypt()是单向散列,它与编码不同,因此在通过该代码传递值后,您将无法获得原始值。如果要使用密码进行散列,我建议使用bcrypt。以下是如何实现它的示例:
$password = 'secretPassword';
$salt = '$2a$13$'.substr(sha1($password),0,22);
$hashed_value = substr(crypt($pass, $salt), 29);
您可以在此网站上详细了解bcrypt:http://www.nathandavison.com/posts/view/13/php-bcrypt-hash-a-password-with-a-logical-salt