ハッシュ生成 — SHA-1/256/384/512
テキストを入力すると4種類のSHAハッシュを同時表示。ファイル整合性検証・API署名・暗号学習に。
仕組み
ハッシュとは何か(何でないか)
暗号学的ハッシュ関数は任意サイズの入力から固定サイズの出力(ダイジェスト)を生成します。同じ入力 → 同じダイジェスト。わずかな入力変化 → 全く異なるダイジェスト(雪崩効果)。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計算は専用ツールやプログラミングライブラリをご利用ください。
関連ツール
最終更新: