コンテンツへスキップ
uencoder

HMAC ジェネレーター

Generate HMAC (Keyed-Hash Message Authentication Code) with SHA-1/256/512。無料、プライベート、100%クライアントサイド。

例を試す:
Local only

最近の履歴

履歴はまだありません

使い方

  1. Enter the message to authenticate.
  2. Provide a secret key.
  3. Select the hash algorithm and output format.
  4. Copy the HMAC digest.

このツールを使うタスク

パスワードから KDF を使って暗号鍵を導出する
人間が覚えられるパスワードを、ソルト付きの PBKDF2、scrypt、または bcrypt で、AES や HMAC に使える固定長の鍵に変換します。
タスク
HMAC を生成してメッセージの真正性を検証する
メッセージのキー付きハッシュ(HMAC)を計算して、秘密鍵を共有する相手から送られたことを証明し、受け取った HMAC を検証します。
タスク
証明書署名要求(CSR)を生成する
CSR には公開鍵と識別情報が含まれ、CA に送って署名済み TLS 証明書を取得します。必須フィールドと検証プロセスを学びましょう。
タスク
暗号学的に安全なセッション鍵を生成する
セッション鍵は予測不可能で、セッションごとに一意でなければなりません。CSPRNG による生成と、HKDF によるサブ鍵の導出を学びましょう。
タスク
CORS を安全に実装する
CORS(Cross-Origin Resource Sharing)は、オリジンをまたぐリクエストを制御付きで許可します。オリジン、メソッド、ヘッダー、資格情報の安全な設定方法を学びましょう。
タスク
Content Security Policy(CSP)を実装する
CSP はページが読み込めるリソース(スクリプト、スタイル、画像)を制限し、XSS やデータ注入を防ぎます。ポリシーディレクティブとレポート機能を学びましょう。
タスク
ECDSA 署名を実装する
ECDSA(楕円曲線デジタル署名アルゴリズム)は、RSA より小さい鍵でデジタル署名を提供します。署名の生成と検証を学びましょう。
タスク
エンドツーエンド暗号化(E2EE)を実装する
エンドツーエンド暗号化は、通信する当事者だけがメッセージを読めることを保証します。中継サーバーは復号鍵を持ちません。これを実現するハイブリッド暗号パターンを学びましょう。
タスク
HSTS(HTTP Strict Transport Security)を実装する
HSTS はブラウザにサイトへのアクセスで常に HTTPS を使わせ、プロトコルのダウングレード攻撃と SSL ストリッピングを防ぎます。
タスク
相互 TLS(mTLS)認証を実装する
mTLS はクライアントとサーバーの両方に証明書の提示を求め、パスワードなしで強力な双方向認証を実現します。サービス間通信やゼロトラストアーキテクチャで一般的です。
タスク
ブルートフォース攻撃を防ぐレート制限を実装する
レート制限は時間あたりのリクエスト数に上限を設け、ブルートフォース、クレデンシャルスタッフィング、DoS 攻撃を防ぎます。トークンバケットとスライディングウィンドウのアルゴリズムを学びましょう。
タスク
サーバーに TLS 証明書をインストールする
CA から署名済み証明書を受け取ったら、正しいチェーン順でインストールし、TLS ハンドシェイクでデプロイを検証します。
タスク
CSRF(クロスサイトリクエストフォージェリ)攻撃を防ぐ
CSRF は認証済みユーザーを騙して意図しないリクエストを送信させます。anti-CSRF トークン、SameSite Cookie、ダブルサブミットのパターンを学びましょう。
タスク
暗号操作に対するタイミング攻撃を防ぐ
タイミング攻撃は実行時間の揺らぎを利用して秘密情報を漏洩させます。定数時間比較、均一な処理、ブラインディングの手法を学びましょう。
タスク
AES を CTR モードでストリーム暗号として使う
AES-CTR はブロック暗号をキーストリーム生成器に変え、パディングを不要にします。カウンタの正しい管理と、認証を別途追加しなければならない理由を学びましょう。
タスク
AES を GCM モードで認証付き暗号化に使う
AES-GCM は 1 回の操作で機密性と完全性の両方を提供し、別途 HMAC なしで改ざんを検出します。ほとんどのアプリケーションで推奨される AES モードです。
タスク
秘密情報の検証に定数時間比較を使う
秘密(パスワード、トークン、MAC)を比較するときは、値に依存しない一定時間で比較しないとタイミング側信道が生じます。その対策を学びましょう。
タスク
Cookie を安全に使う
Cookie には Secure、HttpOnly、SameSite と適切な有効期限を設定しなければなりません。Cookie の属性とセキュリティのベストプラクティスを学びましょう。
タスク
HTTP Digest 認証を使う
Digest 認証はサーバーの nonce と組み合わせて資格情報をハッシュし、HTTPS なしでのパスワード露出を防ぎます。チャレンジ・レスポンスの流れと MD5 の使われ方を学びましょう。
タスク
データ検証にマークルツリーを使う
マークルツリーはデータをツリー構造にハッシュし、データセット全体をダウンロードせずに個々の要素を効率的に検証できるようにします。
タスク
TLS ハンドシェイク高速化のために OCSP ステープリングを有効にする
OCSP ステープリングを使うと、サーバーが TLS ハンドシェイク中に最新の失効確認結果をクライアントに提示でき、CA への別途ラウンドトリップを省けます。
タスク
外部リソースに Subresource Integrity(SRI)を使う
SRI は外部スクリプトやスタイルのハッシュを検証することで、改ざんされていないことを保証します。integrity 属性の生成と検証を学びましょう。
タスク

このツールを使うパイプライン

よくある質問

What is HMAC used for?
HMAC verifies both data integrity and authenticity using a secret key. It is used in API signing, JWT, and webhooks.
Which hash should I use?
SHA-256 is recommended. SHA-1 is provided for legacy compatibility. SHA-512 offers a larger security margin.

関連ツール