ハッシュ生成
テキストのMD5、SHA-1、SHA-2(224/256/384/512)、SHA-3ダイジェストを生成し、bcryptハッシュを作成・検証します — すべてブラウザ内で。
このツールについて
テキストを入力すると、主要なアルゴリズムすべてのダイジェストを一度に表示します: MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3(256/512)。チェックサムの確認、キャッシュキーの生成、DBやAPIが返した値との比較、そして長さを照合して「このハッシュはどのアルゴリズムで生成されたか」を素早く推測するのに便利です。
Bcryptタブではコストファクターを選んでパスワードハッシュを生成し、既存のハッシュに対してパスワードを検証できます。テストフィクスチャのシード作成や、保存された $2b$ ハッシュがどのパスワードに対応するかの確認に役立ちます。すべての計算はローカルで行われ、テキストもパスワードもブラウザから出ません。
よくある質問
MD5とSHA-1は使っても安全ですか?+
セキュリティ用途では不可です。どちらも実用的な衝突攻撃が存在するため、ここではlegacyと表示します。チェックサム、キャッシュキー、重複排除のような攻撃者のいない用途では今も問題ありません。セキュリティに関わる場面ではSHA-256以上を、パスワードにはbcryptやargon2を使ってください。
自分のマシンの echo | md5sum と結果が違うのはなぜですか?+
echoは末尾に改行を付けるため、実は別の文字列をハッシュしています。echo -n(またはprintf)を使ってください。エンコーディングも重要です。このツールはテキストのUTF-8バイトをハッシュし、大半の現代言語のデフォルトと一致します。
ハッシュから元のテキストを復元できますか?+
いいえ、ハッシュは一方向です。ただし短い・よくある入力は総当たりやルックアップテーブルで見つけられます。パスワードにSHA-256のような高速ハッシュではなく、低速でソルト付きのbcryptが必要な理由がこれです。
同じパスワードなのにbcryptのハッシュが毎回違うのはなぜですか?+
ハッシュごとにランダムなソルトが埋め込まれるためで、意図された動作です。ソルトはハッシュ自体の中に保存される($2b$10$<ソルト><ダイジェスト>)ので検証は問題なくできます。文字列を直接比較せず、検証セクションで確認してください。
bcryptのコストファクターはいくつにすべきですか?+
コストは指数的で、+1ごとに計算量が2倍になります。10が一般的なデフォルトで、ログインあたり約250msを許容できるなら新規システムには12が妥当です。レイテンシ予算が許す最大の値を選んでください。