ハッシュジェネレーター

テキストとファイルのMD5、SHA-1、SHA-256、SHA-512ハッシュを生成。ハッシュの比較やHMACの計算もできます。

このツールについて

このツールの各アルゴリズムは固定サイズのダイジェストを生成しますが、そのサイズは大きく異なります。MD5は128ビット(16進数32文字)、SHA-1は160ビット(40文字)、SHA-256は256ビット(64文字)、SHA-512は512ビット(128文字)です。4つすべてを同時に計算するため、個別にコマンドを実行せずにアルゴリズム間で結果を比較できます。これらのアルゴリズムで構築されるHMACシグネチャはJSON Web Tokenでも使用されています。JWTツールでデコードと検証が可能です。

SHA-1、SHA-256、SHA-512はブラウザ組み込みのWeb Crypto APIで計算され、ハードウェアアクセラレーションによる定時間実装が使われます。MD5はWeb Crypto APIが非対応のため、spark-md5ライブラリで計算されます。一般的なマシンでは、Web CryptoによるSHA-256は数百MB/秒、spark-md5によるMD5はJavaScriptで約200〜400MB/秒の処理速度です。SHA-1は互換性のために含まれていますが、暗号学的に破られているためセキュリティ目的には使用すべきではありません。

ファイルタブではドラッグ&ドロップまたはファイル選択でファイル内容を直接ハッシュできます。ダウンロードの検証に便利です。比較タブでは2つのハッシュ文字列の一致を確認できます(大文字小文字を区別しません)。HMACタブではSHA-1、SHA-256、SHA-512による鍵付きハッシュメッセージ認証コードを生成します。

すべての処理はクライアントサイドで実行されます。テキスト、ファイル、シークレットがブラウザ外に出ることはありません。バイナリハッシュ出力をテキストにエンコードするにはBase64エンコーダーをご利用ください。安全なランダム文字列が必要な場合はパスワードジェネレーターをお試しください。

使い方

  1. テキストモードでテキストを入力または貼り付けます。4つのハッシュダイジェストが即座に表示されます。
  2. ファイルモードでファイルをドラッグ&ドロップするか参照をクリックします。ファイルはブラウザ内で完全にハッシュされます。
  3. 比較モードで2つのハッシュを貼り付けて一致するかを確認します(大文字小文字を区別しない比較)。
  4. HMACモードでメッセージ、シークレットキー、アルゴリズムを入力します。入力に応じてHMACが更新されます。
  5. ハッシュの横にあるコピーアイコンをクリックしてクリップボードにコピーします。

このツールについて

すべての30件のハッシュアルゴリズムガイドを見る →

よくある質問

データは安全ですか?

はい。SHA-1、SHA-256、SHA-512はWeb Crypto API(SubtleCrypto.digest())で、MD5はspark-md5 JavaScriptライブラリで計算されます。どちらもブラウザ内で完結し、データがサーバーに送信されることはありません。ブラウザのDevToolsのネットワークタブで確認できます。

どのアルゴリズムを使用すべきですか?

セキュリティ目的にはSHA-256またはSHA-512を使用してください。MD5とSHA-1は暗号学的に破られているとされ、チェックサムやレガシー互換性のためにのみ使用すべきです。

HMACとは何ですか?

HMAC(ハッシュベースのメッセージ認証コード)は、暗号学的ハッシュ関数とシークレットキーを組み合わせてメッセージ認証コードを生成します。メッセージの完全性と真正性の両方を検証するために使用されます。

大きなファイルをハッシュできますか?

はい。ファイルはArrayBufferとしてメモリに読み込まれ、ハードウェアアクセラレーションされたWeb Crypto APIを使用してハッシュされます。数百MBまでのファイルは問題なく動作します。非常に大きなファイルはブラウザの利用可能メモリによって制限される場合があります。

MD5が破られているのになぜ含まれているのですか?

MD5はファイルチェックサム、キャッシュキー、重複排除など、セキュリティ以外の目的で今でも広く使用されています。多くのダウンロードページでは依然として検証用にMD5ハッシュが掲載されています。パスワードやデジタル署名には使用すべきではありません。

関連ツール