# Bcrypt検証ツール

パスワードがbcryptハッシュと一致するか確認します。パスワードと$2a$、$2b$、または$2y$ハッシュを貼り付けると、ツールが文字列からソルトとコストを読み取り、ハッシュを再計算して、一致するかどうかを返します。開発者がログインの問題をデバッグしたり、データベース移行を確認したり、PHP、Node.js、Pythonのハッシュをテストしたりするのに役立ちます。コストが12を超えるハッシュは拒否され、パスワードが表示されることはありません。

## よくある質問

### bcryptの検証はどのように行われますか？

ツールはハッシュ文字列からバージョン、コスト、ソルトを読み取り、同じ設定でパスワードをハッシュ化して、結果を保存済みのハッシュと比較します。完全に一致すれば「一致」、それ以外は「不一致」と表示されます。

### どのハッシュ形式に対応していますか？

このツールは、$2a$、$2b$、$2y$の接頭辞、2桁のコスト、53文字のソルトとハッシュを含むモジュラー暗号形式に対応しています。対象はPHP password_hash、Node.js bcryptとbcryptjs、Python bcrypt、Spring Securityです。

### ハッシュが拒否されるのはなぜですか？

ハッシュは正確に60文字で、形式は$2b$10$の後にbcryptの文字セットからなる53文字が続く必要があります。データベースのカラムで途中までしか保存されていないか、引用符で囲まれていないか確認してください。サービスの処理速度を保つため、コストが12を超えるハッシュは拒否されます。

### 既知の例を試せますか？

公開されているjBCryptのテストベクトル$2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0iは、パスワードabcに対応します。両方を入力すると「一致」と表示され、それ以外のパスワードでは「不一致」と表示されます。

### コスト上限が12なのはなぜですか？

ハッシュの検証には作成と同じだけのコストがかかり、コストが1段階上がるごとに処理時間は2倍になります。12を超えると数秒かかることがあるため、サーバーを占有しないようツールで拒否しています。

### Verifierはパスワードを表示または保存しますか？

いいえ。レスポンスに含まれるのはハッシュと判定結果のみで、パスワードは含まれません。ログへの記録や保存も行われません。

### パスワードの最大長はありますか？

bcryptが読み取るのはパスワードの先頭72バイトまでです。このツールは切り詰めずに、それより長いパスワードを拒否します。ハッシュ作成時にシステムが長いパスワードを切り詰めていた場合は、先頭72バイトだけを入力してください。

### $2a$、$2b$、$2y$の違いは何ですか？

これらは、古い実装のバグに対する修正を示しています。$2y$はPHPのcrypt_blowfishの修正に由来し、$2b$は長いパスワードに関するOpenBSDの修正に由来します。72バイト以下の有効なパスワードでは同じハッシュが生成されるため、このツールは3種類すべてを検証できます。

### ここで他のアルゴリズムのハッシュも検証できますか？

いいえ。このツールが確認できるのはbcryptハッシュのみです。$argon2で始まる文字列にはArgon2 Verifierを使ってください。

### 新しく作成したbcryptハッシュが保存済みのものと一致しないのはなぜですか？

bcryptハッシュには毎回新しいランダムなソルトが使われるため、同じパスワードでも生成されるハッシュ文字列は異なります。そのため、検証では2つのハッシュを比較せず、保存済みのソルトを使って再計算します。

ここに広告を掲載しませんか？

[メールでお問い合わせ](mailto:hi@dennn.is?subject=OneClick%20Pro%E3%81%A7%E3%81%AE%E5%BA%83%E5%91%8A%E6%8E%B2%E8%BC%89)

[広告 WordPress向けのエージェント対応プラグインスイート。](https://sleekwp.com/?ref=oneclickpro)
