開発者向け / TOOL 37
ハッシュ生成・HMAC計算ツール
テキストやファイルからSHA-1/SHA-256/SHA-384/SHA-512とHMACをブラウザ内で生成します。
01 条件を入力AUTO CALCULATE
02 / YOUR RESULT結果
テキストまたはファイルを入力すると結果が表示されます。
計算結果は参考値です。
計算方法・条件・注意点をあわせてご確認ください。
計算方法・根拠を確認 ↓
URL共有時は、対応する入力値がURLに含まれます。
使い方
テキスト欄に文字列を入力すると、UTF-8へ変換して4種類のハッシュを計算します。ファイルを選ぶとテキストよりファイルを優先し、ファイルのバイト列をそのまま計算します。HMACキーを入力した場合は、HMAC-SHA-256も同時に表示します。結果には比較しやすい16進表記と、通信や設定値で使えるBase64表記を併記しています。入力した内容はこのページ内だけで処理し、サーバーへ送信しません。
計算方法・仕様
SHA-1、SHA-256、SHA-384、SHA-512はWeb Crypto APIのcrypto.subtle.digestを使います。HMACはcrypto.subtle.importKeyでUTF-8のキーを読み込み、HMAC-SHA-256をsignします。16進表記は各バイトを2桁の小文字へ変換し、Base64は標準のBase64へ変換します。Web Crypto APIにMD5はないため、このツールではMD5を扱いません。SHA-1は衝突攻撃への耐性が不足するため、新しい用途ではSHA-256以上を選んでください。
注意点
- 同じバイト列で比較するため、改行コード、空白、全角・半角の違いも結果に影響します。
- ファイルはブラウザのメモリに読み込むため、大きなファイルでは処理に時間やメモリを要します。秘密情報の入力は、共有端末や画面録画にも注意してください。
- ハッシュは暗号化ではなく、一方向の要約値です。元の文字列を復号する機能ではありません。
よくある質問
Q. HMACのキーを空欄にできますか?
A. 空欄でも通常のハッシュは計算できます。HMACの結果はキーが必要なので、キー欄が空の場合は表示しません。
Q. Base64と16進はどちらが正しいですか?
A. どちらも同じバイト列を別の文字表現にしたものです。接続先の仕様に合わせて使い分けてください。