パスワードをエンコードする正しい方法について半日読んだ後、私は圧倒され、この方法を選択しました。ただし、これが最善の方法であるかどうかはわかりません。前もって感謝します。
$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;
問題は、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