HTMLツール

無料 ハッシュ・HMACジェネレーター

Web Crypto APIを使用して暗号化ハッシュとHMACのJavaScriptコードを生成します

ツールを読み込み中...

ハッシュ・HMACジェネレーターとは

ブラウザベースのハッシュ・HMACジェネレーターで、Web Crypto APIを使用して暗号化ハッシュを計算するための即時利用可能なJavaScriptコードスニペットを提供します。SHA-256、SHA-384、SHA-512、SHA-1、MD5をサポートします。HMAC(鍵付きハッシュ)の場合は秘密鍵を指定します。このツールは、最新のブラウザで動作するコピー&ペースト可能なJavaScriptコードを生成します。

クイックアンサー

SHA-256、SHA-384、SHA-512、SHA-1、またはMD5ハッシュを計算するJavaScriptコードを生成します。秘密鍵を使用したHMACモードも利用可能です。Web Crypto APIを使用し、すべての最新ブラウザで実行できます。

Last updated: 2026-06-08

制限事項

  • Web Crypto API(crypto.subtle)は非同期であり、生成されるコードはPromiseを使用するため、単純なユースケースでは複雑さが増す可能性があります。
  • MD5は最新ブラウザのcrypto.subtle.digestでサポートされていません。MD5を使用するには、サードパーティライブラリまたは手動実装が必要です。
  • このツールはコードスニペットを生成するものであり、直接的なハッシュ出力を提供するものではありません。教育用およびコード生成ツールであり、即時ハッシュ計算機ではありません。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. ハッシュアルゴリズムを選択します(セキュリティにはSHA-256をお勧めします)。
  2. ハッシュ化したいテキストを入力します。
  3. 鍵付きハッシュが必要な場合はHMACモードを有効にし、秘密鍵を指定します。
  4. 生成されたJavaScriptコードをコピーしてプロジェクトで使用します。

主な用途

  • パスワードを保存する前にSHA-256ハッシュを生成します(本番環境ではソルトを使用)。
  • 共有秘密鍵を使用してAPIリクエスト認証用のHMAC署名を作成します。
  • SHA-256ハッシュを既知のチェックサム値と比較してファイルの整合性を確認します。

用途

使用例

HMACを使用したAPIリクエスト署名

開発者はHMAC-SHA256でAPIリクエストに署名する必要があります。ハッシュジェネレーターを使用して署名コードを作成し、APIシークレットをキーとして指定します。生成されたJavaScriptスニペットは、各リクエストボディのHMAC署名を計算します。

パスワードハッシュの検証

開発者はユーザーパスワードを保存する前にハッシュ化したいと考えています。SHA-256をソルト(ハッシュ化前にパスワードに追加)とともに使用し、生成されたコードを認証フローに組み込みます。

よくあるミス

  • セキュリティ目的でMD5やSHA-1を使用すること。両方とも暗号学的に破られています。セキュリティアプリケーションにはSHA-256以上を使用してください。
  • クライアントサイドJavaScriptに秘密鍵をハードコーディングすること。HMACキーはサーバーサイドのみに保存する必要があります。ブラウザコードはデモンストレーションとテスト用です。
  • ハッシュ化は暗号化ではないことを忘れること。ハッシュ化されたデータは元に戻せません。これはパスワードストレージでは意図的ですが、復号化が必要なデータには不適切です。

検証

  1. 生成されたSHA-256コードをコピーし、既知の入力を使用してブラウザコンソールで実行します。出力が期待されるハッシュと一致することを確認します。
  2. キー「key」とメッセージ「message」でHMACモードをテストします。HMAC-SHA256出力が既知のテストベクトルと一致することを確認します。

FAQ

ハッシュ・HMACジェネレーターのFAQ

ハッシュ化はブラウザで行われるのですか、それともサーバーに送信されるのですか?

このツールが生成するコードは、Web Crypto API(crypto.subtle.digest)を使用してブラウザ内で完全に実行されます。データが送信されることはありません。このツールは、自分のプロジェクトで使用できるJavaScriptスニペットを提供します。実際のハッシュ化は、そのコードを実行する場所で行われます。

なぜこのツールはハッシュを直接計算するのではなくコードを生成するのですか?

Web Crypto API(crypto.subtle.digest)は非同期で、Promiseを返します。そのため、単純な同期フォームで結果を表示するのは困難です。代わりに、このツールは非同期フローを正しく処理するコピー可能なJavaScriptコードを生成します。これは、ハッシュ化を自分のコードに統合する必要がある開発者にとってより有用です。

本番環境のパスワードハッシュにこれを使用できますか?

いいえ。本番環境のパスワードストレージには、bcrypt、scrypt、Argon2などの専用のパスワードハッシュアルゴリズムを使用する必要があります。これらはSHA-256ではなく、ソルトが組み込まれており、ブルートフォース攻撃に耐性を持つように低速(計算コストが高い)になるよう設計されています。SHA-256はパスワードハッシュ化には速すぎます。

関連ツール

その他のhtmlツール

こちらもお試しください

こちらもお試しください