これがばかげた質問である場合は申し訳ありませんが、私は知りたいだけです:bcryptのソルトのポイントは何ですか?つまり、パスワードからハッシュを作成するための次のコードがある場合:
function generateSalt() {
$salt = '$2a$13$';
$salt = $salt . '1111111111111111111111';
return $salt;
}
function generateHash($salt, $password) {
$hash = crypt($password, $salt);
return $hash;
}
$salt = generateSalt();
$providedPassword = generateHash($salt, rand(3,29));
echo $providedPassword;
上記の出力例:
$ 2a $ 13 $ 111111111111111111111uDdpsIcwCVOwEyNueskskXkniY5206fW
$ 2a $ 13 $ 111111111111111111111udcvrNt9quPukFRl8./jXRzDGfE9lw0W
したがって、ソルトがどこで終了するかを明確に確認できます。誰かがデータベースを取得した場合、ソルト部分を削除してハッシュされたパスワードだけを検索できるため、ソルトを使用しても意味がありません。だから、私はbcryptを間違って使用していますか?(静的な塩は、それが私のハッシュのどこに現れるかを示すためだけのものでした)、またはこれには理由がありますか?