パスワードを保存するために、認証クラスをアップグレードmd5
しています。crypt
これが私が取ったアプローチです:
function crypt_pass($pass, $userID) {
$salt = $userID .'usesomesillystringforsalt'; // min 22 alphanumerics, dynamic
$method = (version_compare('5.3.7',PHP_VERSION,'>=')) ? '2y' : '2a'; // PHP 5.3.7 fixed stuff
if (CRYPT_BLOWFISH == 1) {
$blowfish_salt = '$'. $method .'$07$'. substr($salt, 0, CRYPT_SALT_LENGTH) .'$';
return crypt($pass, $blowfish_salt);
}
return sha1($pass . $salt);
}
ユーザーごとにソルトを一意にすると、提供されたユーザー名のデータベースルックアップというステップが追加されますid
...それだけの価値があると思います。私はそれについて間違っていますか?ここで考慮していないことは他にありますか?