ハッシュ

7 tools

ToolDeck のハッシュツールを使えば、暗号ハッシュをブラウザ上で直接生成・識別できます。MD5、SHA-1、SHA-256、SHA-384、SHA-512、HMAC ジェネレーターに加え、ハッシュ識別ツール を使って未知のハッシュ文字列からアルゴリズムを特定することもできます。すべての演算は Web Crypto API を使用してクライアントサイドで完結します。SHA-256 はファイルの整合性確認や汎用検証の標準的な選択肢です。SHA-512 および SHA-384 は機密データや Subresource Integrity 属性に高いセキュリティマージンを提供します。HMAC は任意のハッシュアルゴリズムに共有シークレットを組み合わせ、API 署名のメッセージ認証コードを実現します。ハッシュ識別ツールは 1 回の貼り付けで 250 以上のハッシュ形式を認識します。すべてのツールはインストール不要、登録不要で、データはいかなるサーバーにも送信されません。

ハッシュツールとは?

暗号ハッシュ関数は一方向の数学的変換であり、任意の長さの入力データを固定サイズのダイジェストに変換します。同じ入力は常に同じ出力を生成します(決定論性)が、1 バイトでも変化すると全く異なるダイジェストが得られます。これはアバランシェ効果と呼ばれます。ハッシュ関数はダイジェストから元の入力を復元することが計算上不可能になるよう設計されています。

ハッシュツールはソフトウェア開発全体にわたって使用されており、データ整合性の検証、パスワード保管、デジタル署名、コンテンツの重複排除などに活用されています。バイナリをダウンロードする際、SHA-256 チェックサムで転送中の破損がないことを確認します。Git がコミットを保存する際、SHA-1(SHA-256 への移行中)を使用してすべてのオブジェクトをコンテンツで識別します。サーバーがパスワードを保管する際は、bcrypt や Argon2 のような低速でメモリ負荷の高いアルゴリズムを使用します。これらはいずれも同じハッシュ基本要素から派生しており、ブルートフォース攻撃への耐性を持ちます。

アルゴリズムによって出力サイズとセキュリティ保証が異なります。MD5 と SHA-1 はセキュリティ目的では暗号学的に破られており、衝突攻撃が実際に実証されています。ただしチェックサムや非セキュリティ用識別子には依然として広く使われています。NIST FIPS 180-4 で標準化された SHA-2 ファミリーの SHA-256 と SHA-512 は、セキュリティが重要なアプリケーションの現在のベンチマークです。HMAC は任意のハッシュ関数に秘密鍵を追加し、整合性と真正性の両方を証明するメッセージ認証を実現します。

ToolDeck のハッシュツールを使う理由

ToolDeck のハッシュツールは、外部サービスにデータをアップロードせずに高速かつ正確なハッシュ生成を必要とする開発者向けに構築されています。すべてのアルゴリズムは Web Crypto API または純粋な JavaScript を使用してブラウザ内で動作します。入力データはデバイスの外に出ることはありません。

🔒
プライバシー最優先のハッシュ生成
入力データはいかなるサーバーにも送信されません。すべてのハッシュ処理はブラウザ内でローカルに実行されます。認証情報、トークン、機密文字列を安全に貼り付けることができます。
🌐
Web Crypto API による高精度
SHA-256、SHA-384、SHA-512 はブラウザのネイティブ Web Crypto API を使用します。これは TLS や OS レベルの暗号処理と同じ実装であり、本番環境と異なる結果を返す可能性のある JavaScript の再実装ではありません。
7 種類のアルゴリズムを 1 つのインターフェースで
MD5、SHA-1、SHA-256、SHA-384、SHA-512、HMAC、ハッシュ識別ツールのすべてが、一貫したインターフェースからアクセスできます。ツールやサービスを切り替える必要はありません。
🛡️
即時結果、制限なし
典型的な入力に対するハッシュ生成はほぼ瞬時に完了します。レート制限なし、クォータなし、ログイン不要。ページ読み込み後はすべてのツールがオフラインでも動作します。

ハッシュツールの活用例

暗号ハッシュはソフトウェア開発ライフサイクル全体にわたって登場します。ダウンロードの検証から API リクエストへの署名、Git 内部のデバッグまで、時間を節約できる代表的なシナリオを紹介します。

API セキュリティと HMAC 署名
Stripe、GitHub、Shopify とのウェブフック連携をデバッグする際に HMAC-SHA256 リクエスト署名を検証します。期待される署名をローカルで生成し、X-Hub-Signature-256 ヘッダーと比較することで認証エラーを診断できます。
ファイル整合性の検証
ダウンロードしたバイナリ、Docker イメージ、パッケージアーカイブの SHA-256 チェックサムを計算します。公開されたチェックサムと照合することで、転送中にファイルが破損または改ざんされていないことを確認できます。
パスワードハッシュのデバッグ
アプリケーションのハッシュパイプラインが正しい出力を生成しているかテストします。既知の入力の SHA-256 または MD5 ダイジェストを生成して、結合テストを書く前にハッシュロジックを検証できます。
Git オブジェクトのデバッグ
Git はコミット、ツリー、ブロブをコンテンツで識別するために SHA-1(そして SHA-256 への移行も進んでいます)を使用しています。生のオブジェクトデータの SHA-1 ハッシュを生成することで、Git のコンテンツアドレス可能ストレージがオブジェクト ID を割り当てる仕組みを理解できます。
Subresource Integrity(SRI)
CDN 上の JavaScript および CSS ファイルの SHA-384 または SHA-512 ハッシュを生成し、script タグおよび link タグの integrity 属性に設定します。これにより、侵害された CDN が悪意のあるコードをページに注入することを防げます。
セキュリティ監査とフォレンジック
ハッシュ識別ツールを使用して、ログファイル、データベースダンプ、またはキャプチャされたネットワークトラフィック中の未知のハッシュ文字列を識別します。文字列の長さと文字セットから、それが MD5、SHA-1、SHA-256、または他のアルゴリズムであるかを判定できます。

ハッシュアルゴリズムリファレンス

以下の表は ToolDeck で利用可能なすべてのアルゴリズムを示しています。出力長が主な識別要素であり、ハッシュ識別ツールはこの長さを使用して未知のハッシュ文字列からアルゴリズムの種類を検出します。

アルゴリズムビット数16進数長ファミリーステータス主な用途
MD512832MD破損(衝突攻撃あり)チェックサム、キャッシュキー、非セキュリティ重複排除
SHA-116040SHA-1非推奨Git(レガシー)、レガシーチェックサム、証明書チェーン
SHA-25625664SHA-2安全パスワード、TLS 1.3、Bitcoin、Subresource Integrity
SHA-38438496SHA-2安全TLS 証明書、Subresource Integrity ハッシュ
SHA-512512128SHA-2安全高セキュリティストレージ、SSH ホストキー
HMAC可変可変鍵付き MAC安全(鍵付き)API 署名、ウェブフック検証

破損 = 実際に衝突攻撃が実証済み。非推奨 = 新規のセキュリティ重要コードでは使用しない。安全 = 2026 年時点で既知の実用的な攻撃なし。

適切なハッシュツールの選び方

ハッシュのタスクによって適切なアルゴリズムは異なります。このガイドを参考に、用途に合ったツールを選択してください。

  1. 1
    目的 ファイルチェックサムの検証、API データへの署名、または TLS 証明書の操作SHA-256 ジェネレーター
  2. 2
    目的 高セキュリティストレージや SSH キーに最大限の SHA-2 強度でハッシュを生成SHA-512 ジェネレーター
  3. 3
    目的 CDN 上の JavaScript や CSS に Subresource Integrity(SRI)ハッシュを生成SHA-384 ジェネレーター
  4. 4
    目的 レガシーの MD5 チェックサム、キャッシュキー、非セキュリティ重複排除識別子を再現MD5 ジェネレーター
  5. 5
    目的 Git オブジェクト互換性またはレガシーコードベース向けに SHA-1 ハッシュを計算SHA-1 ジェネレーター
  6. 6
    目的 Stripe、GitHub、Shopify からの HMAC-SHA256 ウェブフック署名を検証HMAC ジェネレーター
  7. 7
    目的 未知のハッシュ文字列に使用されたアルゴリズムを識別ハッシュ識別ツール

新しいシステムを構築する場合、汎用ハッシュには SHA-256 を、認証付きメッセージハッシュには HMAC-SHA256 をデフォルトとして使用してください。セキュリティが重要なコンテキストでは MD5 と SHA-1 の使用を避け、レガシー互換性が必要な非セキュリティチェックサムにのみ使用してください。

よくある質問

ハッシュと暗号化の違いは何ですか?
ハッシュは一方向の操作です。ハッシュ関数は任意の入力を固定サイズのダイジェストにマッピングし、ダイジェストから元の入力を復元することはできません。暗号化は双方向です。暗号化されたデータは正しい鍵で復号できます。ハッシュ関数は整合性検証とデジタル署名に使用されます。暗号化はデータの機密性のために使用されます。元のデータを復元する必要がある場合、ハッシュ関数を暗号化の代替として使用してはいけません。
MD5 は安全ですか?
MD5 は衝突耐性において暗号学的に破られています。2004 年に研究者が、2 つの異なる入力から同じ MD5 ハッシュを数秒で生成できることを実証しました。デジタル署名、TLS 証明書、パスワードハッシュに MD5 を使用してはいけません。一方、ファイルチェックサムによるエラー検出、キャッシュキー、コンテンツ重複排除識別子など、攻撃者が衝突を悪用できない非セキュリティ用途では依然として許容されます。
HMAC とは何ですか?いつ使うべきですか?
HMAC(Hash-based Message Authentication Code)は、暗号ハッシュ関数と秘密鍵を組み合わせたものです。メッセージが改ざんされていないこと(整合性)と、鍵を知っている人物から送られたこと(真正性)の両方を証明します。Stripe や GitHub からのウェブフックペイロードの検証、AWS API リクエストへの署名(Signature Version 4)、またはサービス間のメッセージ認証に HMAC を使用してください。新しいシステムには HMAC-SHA256 が推奨です。
同じ入力が常に同じハッシュを生成するのはなぜですか?
ハッシュ関数は決定論的な数学的変換です。与えられた入力は固定のアルゴリズムを通じて正確に 1 つの出力にマッピングされます。この特性によりハッシュは検証に役立ちます。今日と明日にファイルをハッシュして同じダイジェストが得られれば、ファイルは変更されていません。ダイジェストは元のサイズに関係なく、入力データの固定サイズのフィンガープリントとして機能します。
ハッシュ衝突とは何ですか?
衝突は 2 つの異なる入力が同じハッシュ出力を生成したときに発生します。ハッシュ関数は無限の入力を有限の出力にマッピングするため(鳩の巣原理)、理論上衝突は必ず存在します。安全なハッシュ関数は衝突を見つけることを計算上不可能にします。MD5 と SHA-1 は実用的な衝突攻撃が実証されているため破られたとみなされます。Wang ら(2004 年)が MD5 を破り、SHAttered 攻撃(2017 年)が SHA-1 を破りました。
SHA-256 や SHA-512 でパスワードをハッシュできますか?
いいえ。SHA-256 や SHA-512 のような汎用ハッシュ関数は高速に動作するよう設計されています。GPU を持つ攻撃者は 1 秒間に数十億回計算できるため、ブルートフォース攻撃や辞書攻撃が現実的になります。パスワード保管には専用アルゴリズムを使用してください。bcrypt、scrypt、または Argon2id です。これらは意図的に低速でメモリ負荷が高く、大規模なブルートフォース攻撃への耐性を持つよう設計されています。MD5 や SHA のハッシュとしてパスワードを平文で保管してはいけません。
SHA-256 や SHA-512 の数字は何を意味しますか?
数字は出力サイズをビット単位で示しています。SHA-256 は 256 ビットのダイジェストを生成し、64 桁の 16 進数で表されます(1 桁 4 ビット:256 ÷ 4 = 64)。SHA-512 は 512 ビットのダイジェスト(128 桁の 16 進数)を生成します。出力サイズが大きいほど取りうるハッシュ値の数が飛躍的に増えます。ビットが 1 つ追加されるたびに空間が 2 倍になり、偶発的な衝突やブルートフォースによる原像攻撃が指数関数的に困難になります。
暗号ハッシュと単純なチェックサムの違いは何ですか?
CRC32 のようなチェックサムはエラー検出に最適化されています。高速でシンプルですが、意図的な改ざんへの耐性はありません。攻撃者は同じ CRC32 を持つ改ざんされたファイルを作成できます。SHA-256 のような暗号ハッシュは衝突耐性と原像耐性を持ちます。同じハッシュを持つ 2 つの入力を見つけること、または指定されたターゲットにハッシュされる入力を見つけることは、計算上不可能です。改ざんが懸念されるダウンロード検証には、単純なチェックサムではなく暗号ハッシュを使用してください。