ハッシュHMAC生成ツール
HMAC(Hash-based Message Authentication Code)を使った署名を生成します。API認証やWebhook検証などで使用されます。
メッセージ
HMAC署名
秘密鍵とメッセージを入力すると、自動的にHMAC署名が生成されます。秘密鍵は絶対に他人に知られないように管理してください。
このツールの使い方
- アルゴリズム選択: ハッシュアルゴリズム(SHA-256、SHA-1など)を選択します
- 秘密鍵入力: 署名に使用する秘密鍵を入力します
- メッセージ入力: 左側のエリアに署名を生成したいメッセージを入力します
- 自動生成: 入力すると即座に右側にHMAC署名が表示されます
- 結果: コピーまたはダウンロードして利用できます
このツールの特徴
- 完全ブラウザ内完結: 入力データはサーバーに送信されず、すべてブラウザ内で処理されます
- リアルタイム自動生成: 入力すると即座に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は脆弱性が発見されているため、新規開発では使用を避けてください