使用mcrypt_create_iv()和crypt()加密我的密码

时间:2012-09-08 17:34:10

标签: mcrypt crypt

在阅读了有关密码编码的正确方法的半天后,我感到压力很大,我选择这样做。但是我不确定这是否是最好的方法。提前谢谢。

$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;

1 个答案:

答案 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

相关问题