2014年12月23日火曜日

PHP: 簡単に使えるパスワードハッシュ化&認証処理

PHP 5.5 以降ではパスワードのハッシュ化及び、生パスワードとハッシュの比較が簡単に行える関数が準備されている。

ハッシュ作成:password_hash()
http://php.net/manual/ja/function.password-hash.php
$hash = password_hash('raw_password', PASSWORD_DEFAULT);

生パスワードとハッシュ化アルゴリズムを渡すとハッシュを生成してくれる。
ソルトは自動生成されハッシュ内に含まれるため、別途保存しておく必要はない。


生パスワードとハッシュの比較:password_verify()
http://php.net/manual/ja/function.password-verify.php
if(password_verify($raw_password, $hash)) {
    echo '認証成功';
} else {
    echo '認証失敗';
}

生パスワードとハッシュを渡すだけで検証してくれる。
password_hash() で作られたハッシュにはアルゴリズムとソルトの情報が含まれるため、
別途ソルトやアルゴリズムの指定が不要。

0 件のコメント:

コメントを投稿