この回答を参照しています: https://stackoverflow.com/a/4766811/1114105
パスワードを再ハッシュしますが、実際にはハッシュに対して何も行いません (CheckPassword 関数で POST 送信された平文のパスワードを使用して認証します)。ハッカーは再ハッシュ部分をバイパスできませんか?
これが私の擬似コードです。
パスワード/ユーザー名が POST によって送信され、$row['password'] が sql のハッシュされた pword である場合。
$t_hasher = new PasswordHash(13, FALSE);
$hash = $t_hasher->HashPassword($_POST['password']);
$check = $t_hasher->CheckPassword($_POST['password'], $row['password']);
if($check) Great success else Wrong credentials`
注: CheckPassword の実行にかかる時間は、ワーク ファクターによって違いは生じないことがわかりました。HashPassword の時間が増えるだけです。