ハッシュHMAC生成ツール

HMAC(Hash-based Message Authentication Code)を使った署名を生成します。API認証やWebhook検証などで使用されます。

メッセージ

HMAC署名

秘密鍵とメッセージを入力すると、自動的にHMAC署名が生成されます。秘密鍵は絶対に他人に知られないように管理してください。

このツールの使い方

  1. アルゴリズム選択: ハッシュアルゴリズム(SHA-256、SHA-1など)を選択します
  2. 秘密鍵入力: 署名に使用する秘密鍵を入力します
  3. メッセージ入力: 左側のエリアに署名を生成したいメッセージを入力します
  4. 自動生成: 入力すると即座に右側にHMAC署名が表示されます
  5. 結果: コピーまたはダウンロードして利用できます

このツールの特徴

  • 完全ブラウザ内完結: 入力データはサーバーに送信されず、すべてブラウザ内で処理されます
  • リアルタイム自動生成: 入力すると即座にHMAC署名が生成されます
  • 複数のアルゴリズム対応: SHA-256、SHA-1、SHA-512、MD5をサポート
  • 横並びレイアウト: メッセージと署名を並べて表示し、確認しやすい
  • 便利な機能: コピー、ダウンロード機能
  • 完全無料: 登録不要で今すぐ使えます
  • レスポンシブ対応: スマホ・タブレットでは縦並びに切り替わります

HMACとは

HMAC(Hash-based Message Authentication Code)は、秘密鍵とハッシュ関数を使ってメッセージの認証コードを生成する方式です。

主な特徴:

  • 改ざん検知: メッセージが改ざんされていないことを確認できます
  • 送信者認証: 正しい秘密鍵を持つ送信者からのメッセージであることを確認できます
  • 一方向性: 署名からメッセージや秘密鍵を逆算することはできません
  • 決定性: 同じメッセージと秘密鍵からは常に同じ署名が生成されます

各アルゴリズムについて

  • SHA-256(推奨): 最も推奨されるアルゴリズム。256ビット(64文字の16進数)の署名を生成します。セキュリティと速度のバランスが良好です
  • SHA-1: 160ビット(40文字の16進数)の署名を生成します。古いシステムとの互換性のために使用されますが、新規開発では推奨されません
  • SHA-512: 512ビット(128文字の16進数)の署名を生成します。最も強力なセキュリティを提供しますが、処理が重くなります
  • MD5: 128ビット(32文字の16進数)の署名を生成します。セキュリティ上の問題があるため、新規開発では使用を避けてください

HMACの使用例

  • API認証: リクエストが正当なクライアントからのものであることを確認
  • Webhook署名検証: GitHubやStripeなどのサービスが送信するWebhookの真正性を確認
  • JWT(JSON Web Token): トークンの署名生成に使用
  • セッショントークン: セキュアなセッション管理に使用
  • データ整合性検証: データが改ざんされていないことを確認
  • OAuth認証: OAuth 1.0aの署名生成に使用

入力例

秘密鍵: my-secret-key

メッセージ: Hello, World!

SHA-256の結果:

c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2

セキュリティのベストプラクティス

  • 強力な秘密鍵: 十分に長く、ランダムな秘密鍵を使用する
  • 秘密鍵の管理: 秘密鍵を安全に保管し、絶対に公開しない
  • 推奨アルゴリズム: 新規開発ではSHA-256以上を使用する
  • 定期的な更新: セキュリティポリシーに従って秘密鍵を定期的に更新する
  • HTTPS使用: HMAC署名を送信する際は必ずHTTPSを使用する

注意点

  • 入力内容はブラウザ上でのみ処理され、サーバーには保存されません
  • 秘密鍵は絶対に他人に知られないように管理してください
  • 秘密鍵が漏洩すると、第三者が正当な署名を生成できてしまいます
  • 本ツールは開発・テスト用途での利用を想定しています
  • 本番環境では適切なセキュリティ対策を実施してください
  • MD5とSHA-1は脆弱性が発見されているため、新規開発では使用を避けてください