🇺🇸English

ハッシュ生成

MD5・SHA-1・SHA-256・SHA-512を一括生成。ファイルハッシュ・HMAC対応。

ブラウザ内で完結 — データはサーバーに送信されません
編集可能

ハッシュとは?

ハッシュ関数とは、任意の長さのデータを固定長のビット列(ハッシュ値)に変換する一方向性の関数です。同じ入力からは必ず同じ出力が得られますが、ハッシュ値から元のデータを復元することはできません(一方向性)。また、わずかでも入力が変わるとハッシュ値が大幅に変化する雪崩効果を持ちます。これらの特性から、データの改ざん検知・パスワードの安全な保存・デジタル署名など、セキュリティの根幹を支える技術として広く使われています。

各アルゴリズムの特徴と使い分け

MD5は128ビットのハッシュを生成し処理が高速ですが、衝突攻撃が発見されているためセキュリティ用途には推奨されません。ファイルの整合性チェックや一意IDの生成など、セキュリティを問わない用途に向いています。SHA-1は160ビットで、現在は非推奨(Git等ではまだ使用中)。SHA-256はSHA-2ファミリーの主力で、256ビットのハッシュを生成し、TLS証明書・JWT・ブロックチェーンなど広く採用されています。SHA-512は512ビットでより高い衝突耐性を持ち、最高レベルのセキュリティが必要な場面で使われます。

HMAC(鍵付きハッシュ)とは

HMAC(Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を組み合わせてメッセージ認証コードを生成する仕組みです。データの改ざん検知に加えて「秘密鍵を知っている送信者からのメッセージである」ことを検証できます。WebAPIのリクエスト署名(AWS Signature、GitHub Webhook署名など)やJWTの検証に広く使用されています。

主な活用シーン

ダウンロードしたファイルの公式チェックサム(SHA-256)との照合、APIのWebhookシグネチャ検証(HMAC-SHA256)、パスワードがどのようにハッシュ化されているかの確認、データベースのレコード変更検知、Gitコミットハッシュの意味を理解する学習用途など、セキュリティ・DevOps・Web開発の幅広い場面で活用できます。