ハッシュ生成ツール|MD5・SHA-256・SHA-512

テキストからMD5・SHA-1・SHA-256・SHA-512ハッシュ値を生成します。

ハッシュ生成ツール|MD5・SHA-256・SHA-512とは

ハッシュ生成ツールは、テキストやファイルからMD5・SHA-1・SHA-256・SHA-512のハッシュ値をブラウザ上で即座に生成する無料オンラインツールです。HMACモードでAPI署名の生成にも対応しており、入力データはサーバーに送信されず完全ローカルで処理されます。ファイルの改ざん検知・パスワード検証・デジタル署名の確認など、セキュリティ・開発業務で日常的に必要な機能をまとめて提供します。

使い方

  1. 1「テキスト」タブに文字列を入力するか、「ファイル」タブでファイルをドラッグ&ドロップしてください。
  2. 2アルゴリズムのチェックボックスで表示したいハッシュ(MD5・SHA-1・SHA-256・SHA-512)を選択します。
  3. 3HMACモードを有効にすると秘密鍵フィールドが表示され、HMAC-SHA256・HMAC-SHA512も同時に計算されます。
  4. 4下部の「ハッシュを検証」エリアにハッシュ値を貼り付けると、どのアルゴリズムと一致するか即座に判定できます。

メリット・特徴

  • MD5・SHA-1・SHA-256・SHA-512の4アルゴリズムを同時計算・一括表示
  • ファイルのドラッグ&ドロップに対応。大きなファイルのハッシュもブラウザ上で処理
  • HMACモードでWebhook署名・APIシグネチャの生成と検証が可能
  • 「ハッシュを検証」機能で照合対象ハッシュがどのアルゴリズムと一致するか即判定
  • 「すべてコピー」ボタンで全アルゴリズムのハッシュをまとめてクリップボードに保存
  • 入力テキスト・ファイルはサーバーに送信されず、完全ローカル処理で安全
01

ハッシュ関数の種類と使い分け

ハッシュ関数は入力データを固定長の文字列(ハッシュ値)に変換する一方向関数です。用途に応じて適切なアルゴリズムを選ぶことが重要です。

MD5(128bit)— レガシー用途のみ

1991年に設計されたMD5は処理速度が非常に速く、かつてはファイル整合性チェックに広く使われていました。しかし2004年に衝突攻撃(異なる入力から同じハッシュを生成する手法)が実証され、現在はセキュリティ用途への使用は非推奨です。チェックサムとして非セキュリティ用途(重複ファイル検出など)には引き続き使われることがあります。

SHA-1(160bit)— 廃止移行期

SHA-1はNSAが設計し1995年に標準化されましたが、2017年にGoogleが実用的な衝突攻撃(SHAttered)を実証し、TLS証明書やGitのハッシュアルゴリズムとしての利用が段階的に廃止されています。Gitは後方互換のためSHA-1を保持しつつSHA-256への移行を進めています。

SHA-256 / SHA-512(SHA-2)— 現在の標準

SHA-2ファミリー(SHA-256・SHA-384・SHA-512)はNISTが推奨する現在の標準です。SHA-256はTLS証明書・コード署名・ビットコイン・JWTなど幅広い用途で使用されています。SHA-512は64bitアーキテクチャで特に高速で、長いデータのハッシュに適しています。どちらも現時点で既知の実用的な衝突攻撃はなく、セキュリティ用途に安全に使用できます。

HMAC — 認証付きハッシュ

HMACはハッシュ関数と秘密鍵を組み合わせたMAC(メッセージ認証コード)で、データの完全性と送信元の正当性を同時に検証できます。RFC 2104で定義されており、HMAC-SHA256はJWT(HS256)・AWS署名・GitHub Webhook・Slack Event APIなどで標準的に使用されています。

02

ハッシュの実用的な活用例

ハッシュ関数はセキュリティ・データ管理・開発の様々な場面で活用されています。代表的なユースケースと、本ツールを使った実践的な活用方法を紹介します。

ダウンロードファイルの整合性検証

Linux ISOやソフトウェアパッケージの配布サイトでは、ファイルと一緒にSHA-256ハッシュ(チェックサム)が公開されています。本ツールの「ファイル」モードでダウンロードしたファイルをドロップし、公開されているハッシュ値を「ハッシュを検証」エリアに貼り付けると、ファイルが改ざんされていないか即座に確認できます。

Webhook・API署名の検証

GitHub・Stripe・Slackなどのサービスはイベント通知(Webhook)にHMAC-SHA256署名を付加します。本ツールのHMACモードで「受信したリクエストボディ」をテキストとして入力し、「秘密鍵」にWebhookシークレットを入力することで、正しいHMAC値が生成されるか確認できます。開発・デバッグ時の署名検証に活用してください。

データ重複検出とキャッシュキー生成

ファイルやデータベースレコードのMD5・SHA-256ハッシュを計算してインデックスに保存することで、高速な重複検出が可能です。コンテンツアドレッシング(ハッシュをファイル名として使う手法)はGit・BitTorrent・IPFSなどの基盤技術です。また、動的に生成されるWebページのキャッシュキーとしてハッシュを使う手法も広く使われています。

セキュリティ学習とCTF(Capture The Flag)

ハッシュの性質(雪崩効果・衝突耐性・原像計算困難性)を実際に体験するための学習ツールとして活用できます。テキストを1文字変えるだけで全く異なるハッシュが出ることを確認したり、CTF問題でハッシュタイプを識別したりするのに役立ちます。ハッシュ長から対象アルゴリズムを推定する練習にも使えます(MD5=32文字、SHA-1=40文字、SHA-256=64文字、SHA-512=128文字)。

よくある質問(FAQ)

MD5・SHA-1・SHA-256・SHA-512の違いは何ですか?
MD5(128bit)とSHA-1(160bit)は高速ですが、衝突攻撃への脆弱性が発見されているためセキュリティ用途には非推奨です。SHA-256(256bit)・SHA-512(512bit)はSHA-2ファミリーに属し、現在のセキュリティ基準(NIST推奨)に適合しています。ファイル整合性チェックやデジタル署名にはSHA-256以上を使用することが推奨されます。
ハッシュ値でファイルの改ざんを検知できますか?
はい、ハッシュ関数の「同じ入力からは必ず同じ出力」という性質を利用して改ざん検知が可能です。配布元が公開しているSHA-256ハッシュと、ダウンロードしたファイルのSHA-256ハッシュを比較するだけで、1ビットでも変更があれば異なる値になります。この仕組みはソフトウェア配布・ファームウェア更新・ログ改ざん検知などで広く使われています。
HMACとは何ですか?通常のハッシュとの違いは?
HMAC(Hash-based Message Authentication Code)は、ハッシュ関数と秘密鍵を組み合わせたメッセージ認証コードです。通常のハッシュは誰でも同じ値を計算できますが、HMACは秘密鍵を知っている者だけが正しい値を生成・検証できます。GitHub WebhookやStripe APIの署名検証、JWTのHS256/HS512など、APIの認証・メッセージ改ざん防止に広く使われています。
SHA-256はビットコインにどう使われていますか?
ビットコインのProof of Work(マイニング)では、ブロックヘッダーに対してSHA-256を2回適用した値(SHA-256d)が特定の条件(先頭に一定数の0が並ぶ)を満たすまでナンスを変えながら計算し続けます。また、ビットコインアドレスの生成(SHA-256 → RIPEMD-160)やトランザクション署名にも利用されており、ビットコインのセキュリティの中核を担っています。
ハッシュ値から元のテキストに戻すことはできますか?
いいえ、ハッシュ関数は一方向性(非可逆)の処理です。数学的に元のデータを復元することは計算量的に不可能とされています。ただし、MD5・SHA-1はレインボーテーブル(事前計算済みのハッシュ辞書)を使った逆引き攻撃に対して脆弱なため、パスワード保存には使用しないでください。
パスワードの保存にSHA-256などのハッシュは使えますか?
SHA-256などの汎用ハッシュ関数はパスワード保存には推奨されません。これらは高速に計算できるため、総当たり攻撃に対して脆弱です。パスワード保存には、意図的に計算コストを高くした専用アルゴリズム(bcrypt・Argon2・scrypt・PBKDF2)を使用してください。本ツールはハッシュの学習・デバッグ・API署名確認などに最適ですが、パスワードハッシュには適切なライブラリをお使いください。

不具合や動作がおかしい点を見つけたら教えてください。

不具合報告はこちら →