パスワードをデータベースに保存する必要があり、以前はソルトされたパスワードの sha1 ハッシュを、次のようにループされたランダムなソルトと一緒に保存していました。
$salt = sha1(microtime().mt_rand());
for ($i=0; $i < 4000; $i++) {
$password = sha1($password.$salt);
}
(私の例で$password
は$salt
、データベース内に保存されていました)。
hash_hmac()
私は最近、単純な SHA1 ハッシュよりもはるかに安全な関数であることを発見しました。同じパターン (salt が秘密鍵) で使用する予定ですが、前の例のようにループする価値があるかどうか疑問に思っていました。誰かが私に洞察を与えることができれば、それは大歓迎です。