Toolify

ハッシュ生成 — SHA-1/256/384/512

テキストを入力すると4種類のSHAハッシュを同時表示。ファイル整合性検証・API署名・暗号学習に。

MD5は除外しています — 2004年以降衝突攻撃が確立しており Web Crypto では提供されません。SHA-256以上を推奨。
SHA-1
 
SHA-256
 
SHA-384
 
SHA-512
 

仕組み

ハッシュとは何か(何でないか)

暗号学的ハッシュ関数は任意サイズの入力から固定サイズの出力(ダイジェスト)を生成します。同じ入力 → 同じダイジェスト。わずかな入力変化 → 全く異なるダイジェスト(雪崩効果)。SHA-256のような暗号学的に強い関数では、ダイジェストから入力を逆算するのは計算量的に不可能です。

ハッシュは暗号化ではありません。鍵もなく復号もできません。よくある混同: パスワードハッシュには bcrypt/argon2 を使う(総当たり攻撃を遅くするため)、任意テキストをハッシュ化して「デコード」する(設計上不可能)。

アルゴリズムの選び方

SHA-256: 現代の標準。Bitcoin、TLS証明書、JWT署名(HS256)、ファイル整合性ハッシュ等で使用。256ビットは現実的なセキュリティ用途に十分。

SHA-384/SHA-512: 同系列の長いバリアント。SHA-512は64bit ハードウェアでSHA-256より速いことも。プロトコル仕様が要求する場合に。

SHA-1: セキュリティ用途では非推奨だがレガシー(古いTLS・gitコミットハッシュ)で残存。新規セキュリティ用途には使わないでください — 2017年以降、衝突攻撃が実証されています。互換性のため本ツールに含めています。

主な用途

ファイル整合性: ファイルとハッシュを取得 → ローカルで再計算 → 一致すれば改ざんなし。

git コミット: 各コミットの識別子はコンテンツのSHA-1ハッシュ。コミットメッセージのハッシュ単独からは何も推測できません — 復元には他コミット情報が必要。

API リクエスト署名: HMAC-SHA-256 は AWS・GitHub等で標準。本ツールは素のハッシュのみで、HMAC構築は API 仕様に従ってください。

キャッシュキー: URL やパラメータをハッシュ化すれば、安定した固定長キャッシュキーになります。

よくある質問

MD5がないのはなぜ?

2004年以降衝突攻撃が確立しており、Web Crypto APIでも提供されません。非セキュリティ用途(キャッシュキー・ファイル重複検出)でもSHA-256推奨です — わずかに遅いだけで衝突リスクなし。

バイナリファイルもハッシュ化できる?

本ツールはテキストのみ。ファイルにはOSのコマンドを使ってください(macOS/Linux: shasum -a 256 ファイル名、Windows: Get-FileHash)。

SHA-512がSHA-256より長いのは?

数字は出力ビット長を示します。SHA-256 = 256bit = 16進64文字、SHA-512 = 512bit = 16進128文字。

異なる入力が同じハッシュになることはある?

理論的には可能(鳩の巣原理)ですが、SHA-256では現実技術で発生しません。SHA-1は実証済みなので注意。

パスワードのハッシュ化に使える?

いいえ。パスワードには遅いハッシュ(bcrypt・scrypt・argon2)+ ソルトが必要。素のSHA-256は速すぎて攻撃者は秒間数十億回計算できます。

同じテキストで毎回同じ結果になる?

定義上そうです。決定性(同入力→同出力)はハッシュの基本特性。毎回異なる結果が必要なら(「ソルト」)、入力にランダム値を付加してください。

入力データはサーバーに送信されますか?

いいえ。Web Crypto はブラウザ内で完結し外部送信ゼロ。

HMACとは? 本ツールはHMACですか?

HMACはハッシュに秘密鍵を組み合わせる方式。本ツールは素のハッシュのみで、HMAC計算は専用ツールやプログラミングライブラリをご利用ください。

関連ツール

最終更新: