仕組み
このツールは、入力した任意のテキストのMD5、SHA-1、SHA-256、SHA-512ハッシュを、すべてブラウザー内で計算します——どこにも送信されません。ハッシュは一方向の指紋のようなもので、同じ入力からは常に同じ出力が得られますが、ハッシュから元のテキストに戻すことはできません。ファイルのチェックサムを確認したり、内容を明かさずに2つのテキストを比較したり、既知の値に対して自分のコードをテストしたりするのに使えます。
このツールが向いていない用途:保存のためにパスワードをハッシュ化することです。MD5とSHA-1は設計上高速であり、それはパスワード保存にとってまさに逆効果です。実際のシステムでは、bcrypt、scrypt、Argon2のような意図的に低速な関数を使用します(詳しくは用語集のキーストレッチングを参照)。これにより、1秒間に数十億のパスワードを試すことが不可能になります。
関連用語: ハッシュ · ソルト(ソルティング) · キーストレッチング · CSPRNG
よくある質問
入力したテキストはどこかに送信されますか?
いいえ。すべてのハッシュはブラウザー内でローカルに計算されます——SHA-1/256/512はWeb Crypto APIを、MD5はローカルのJavaScript実装を使用します。入力した内容が端末の外に出ることは一切ありません。
なぜMD5とSHA-1は安全でないとされているのですか?
どちらも既知の衝突攻撃があります——異なる2つの入力から同じハッシュを作り出すことが可能で、これによりデジタル署名や証明書には使えなくなります。ダウンロードしたファイルが破損していないかの確認など、悪意のある相手を想定しないチェックサム用途では今でも問題なく使えます。
新しいプロジェクトではどのハッシュを使うべきですか?
汎用的なハッシュ化には、安全な現代の標準としてSHA-256を選びましょう。パスワード保存については、bcrypt、scrypt、Argon2のような専用の低速関数を使ってください——SHA-256のような生のハッシュ単体を使ってはいけません。
テキストだけでなくファイルのハッシュも計算できますか?
このツールではできません——入力または貼り付けたテキストのみをハッシュ化します。ファイルについては、OS標準のチェックサムツール(WindowsのcertutilやmacOS/Linuxのshasumやmd5)が標準的な方法です。