ハッシュ生成ツール
すべてブラウザ内で動きます。ファイルやデータが外部に送られることはありません。
このツールについて
このツールは、テキストを4つのアルゴリズムで同時にハッシュ化します。MD5、SHA-1、SHA-256、SHA-512です。テキストを入力または貼り付けると、入力するたびにUTF-8バイト列に対して4種類のハッシュを計算し、それぞれ小文字の16進数で表示します。各行にはコピー用のボタンが付いています。
なぜ1つに絞らず4種類まとめて計算するのか
状況によって求められるアルゴリズムは異なるため、チェックサムファイルや古いスクリプトがどれを想定しているか分からないときでも、4種類まとめて表示しておけば確認の手間が省けます。SHA-1、SHA-256、SHA-512はブラウザ標準のWeb Crypto APIで計算しています。MD5はブラウザがWeb Cryptoのアルゴリズムとしてネイティブ実装していないため、小さなJavaScriptライブラリを使って計算しています。4つとも同じ入力のUTF-8バイト列に対して計算するので、表示される4つの16進数文字列は常にまったく同じテキストのハッシュです。
MD5とSHA-1は今でも安全に使えるのか
セキュリティが関わる用途には使えません。どちらも既知の衝突攻撃があり、攻撃者が同じハッシュ値になる異なる2つの入力を作り出せてしまうため、パスワードの保護や署名、改ざん検知には向きません。一方で、チェックサムや重複検出のように、意図的に細工しようとする相手を想定せず単に2つのデータを素早く比較したいだけの用途には、今でも問題なく使えます。パスワードの保存や署名の検証のようにセキュリティが実際に関わる場面では、代わりにSHA-256かSHA-512を使ってください。
入力したテキストはどこかに送信されるか
送信されません。すべての処理は入力するそばからブラウザ内だけで完結し、入力内容がサーバーに送られたり保存されたりすることはありません。
主な用途は、ダウンロードしたファイルやコピーしたファイルが公開されているチェックサムと一致するかの確認、キャッシュキーやコンテンツアドレス識別子の生成、重複するテキストやレコードの検出、あるいはデバッグ中にあるコードが特定の入力に対してどんなハッシュを出力するか確かめることなどです。WebCryptoによるハッシュ計算の仕組みについてはMDNのSubtleCrypto.digest()リファレンスを参照してください。