私のLinuxコンピュータでは、htpasswordを使用してコマンドラインからbcryptハッシュを生成できます。
htpasswd -bnBC 10 "" password | tr -d ':\n'
ただし、「$2y$」を生成しますが、「$2a$」(bcrypt 2a)が必要です。どのように実装できますか?
ベストアンサー1
ユースケースに言及していませんが、通常は最新のhtpasswd実装の場合は、$ 2y $を使用してバリアントにタグを付けても$ 2a $互換ハッシュ(NULL終了、UTF-8エンコーディング)を生成します。
つまり、2y を 2a に変更すると動作します。
このStackOverflowの答えもっと詳しく:
2a、2x、2y、2bの間に違いはありません。実装を正しく作成すると、すべて同じ結果が出力されます。
すべての現代の以前のバリエーションは、OpenBSDとPHPの両方にバグがある実装から来ていますcrypt_blowfish
。最新のプラットフォームを使用している場合は、ハッシュ形式を交換できます。
現代の移転(欠陥のある)ハッシュを生成する必要がある場合は、欠陥を修正する現代移転の実装を見つける必要があります。