Hash Generator

Hash Generator ハッシュジェネレータ

テキストまたはファイルから MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 ハッシュをブラウザ内で直接計算。アップロードは一切行いません。

いいえ。すべてのハッシュ処理は JavaScript と Web Crypto API によりブラウザ内で完結します。テキスト入力やファイル選択時にネットワークリクエストは発生しません。ブラウザの Network タブで確認できます。

ファイル完全性(チェックサム)には MD5 または SHA-256 — どちらも非セキュリティ用途なら問題ありません。セキュリティ用途(パスワード、署名)には SHA-256 または SHA-512 を。MD5 や SHA-1 は絶対に使わないでください(衝突耐性が破られています)。CRC32 は偶発的なデータ破損の検出にのみ有用で、セキュリティ用途には使えません。

0 文字 · 0 バイト
アルゴリズム
|

ヒント:入力中にハッシュがリアルタイム計算されます。不要なアルゴリズムを外すとファイル処理が高速化します。

なぜ Hash Generator?

高速、プライベート、主要なハッシュアルゴリズムをすべてカバー。

設計からプライバシー

すべてのハッシュ処理はブラウザ内で実行。テキストやファイルが送信・保存・記録されることはありません。

6 つのアルゴリズムを同時に

MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 — すべて同時表示、または必要なものだけ選択。

ファイルハッシュ

数 GB のファイルでもドロップするだけで、進捗バー付きで全ハッシュを取得。分割読み込みでメモリ消費も低く抑えます。

25 言語対応

25 言語対応でブラウザ言語を自動検出。アラビア語、ペルシア語、ウルドゥー語の RTL にも対応。

ライブ出力

入力中にハッシュがリアルタイム更新(短いデバウンス付き)。各結果をワンクリックでコピー。大文字/小文字切替可能。

Web Crypto API

SHA ハッシュはブラウザ標準の Web Crypto API を使用 — TLS やサブリソース完全性と同じ実装です。

ハッシュジェネレータの仕組み

SHA ファミリーには Web Crypto API、大きなファイルにはストリーミングを使用。

  1. 1

    ファイルをドロップ、またはテキストを貼り付け

    テキスト入力は TextEncoder で UTF-8 バイトにエンコードします。ファイルは小さい場合は File.arrayBuffer で読み込み、約 100 MB を超える場合は TransformStream でストリーミング処理します。

  2. 2

    Web Crypto が計算を担当

    crypto.subtle.digest('SHA-256', bytes) がブラウザのハードウェアアクセラレーション実装でハッシュを計算します。OpenSSL が使うのと同じアルゴリズムで、V8 / JavaScriptCore のサンドボックス内で動作するだけです。SHA-1、SHA-384、SHA-512 も同様に動作します。

  3. 3

    MD5 と CRC32 は WebAssembly で

    MD5 と CRC32 は Web Crypto に含まれていません(暗号学的に脆弱、または非暗号的なため)。これらは同じストリーミングパターンで計算する小さな WASM 実装(各約 5 KB)として同梱しています。

  4. 4

    6 種類のハッシュをすべて表示

    結果は 16 進形式で表示され、各値の隣にワンクリックコピーボタンが付いています。SHA ファミリーには Base64 出力も提供します — AWS S3 ETag や HTTP Content-Digest ヘッダと比較する際によく使われる形式です。

どのハッシュをいつ使うか

ハッシュには多くの用途があります — 用途に合ったアルゴリズムを選びましょう。

ダウンロードした ISO の検証

公開元のチェックサムと SHA-256 で照合します。1 バイトでも改ざんされていれば、ダイジェストは一致しません。MD5 と SHA-1 は偶発的な破損には十分ですが、攻撃者に対しては使用しないでください。

ファイルの重複排除

写真群を SHA-1 でハッシュ化します(衝突耐性より速度を優先するなら MD5 でも可)。ハッシュが同じ=バイトも同じ — 重複したアップロードのクリーンアップに有用です。

ETag 値の生成

AWS S3 はシングルパートオブジェクトには MD5 を、マルチパートには別方式を用います。iKit は生の MD5 を即座に提供するため、ローカルファイルが S3 上のものと一致するか検証できます。

バックアップの確認

オリジナルとバックアップをそれぞれ SHA-256 でハッシュ化し、2 つの文字列を比較します。同じハッシュなら内容も同一。異なれば、バックアップが破損しているか古い状態です。

ローカルハッシュが重要な理由

オンラインハッシャーの中には、チェックサムを計算するためだけにファイルをアップロードするものもあります — プライバシーが重要な処理としては完全に逆向きです。iKit のハッシュジェネレータは Web Crypto を用いてブラウザ内ですべてを計算するため、機密ファイルやプライベートなファイルでも、マシンから一切外に出さずにハッシュ化できます。

  • Web Crypto API によるハードウェアアクセラレーションされた SHA。
  • 大きなファイルを 64 KB チャンクでストリーミング — アップロードなし、メモリ枯渇なし。
  • ファイルメタデータなし、IP に紐づくログなし、サインアップなし。

関連ガイド

iKit ブログの詳しいチュートリアルとツール比較。

よくある質問

入力はサーバーに送信されますか?

いいえ。すべてのハッシュ処理は JavaScript と Web Crypto API によりブラウザ内で完結します。テキスト入力やファイル選択時にネットワークリクエストは発生しません。ブラウザの Network タブで確認できます。

どのアルゴリズムを使うべき?

ファイル完全性(チェックサム)には MD5 または SHA-256 — どちらも非セキュリティ用途なら問題ありません。セキュリティ用途(パスワード、署名)には SHA-256 または SHA-512 を。MD5 や SHA-1 は絶対に使わないでください(衝突耐性が破られています)。CRC32 は偶発的なデータ破損の検出にのみ有用で、セキュリティ用途には使えません。

MD5 と SHA-1 は安全に使えますか?

偶発的な破損に対するファイルチェックサムや完全性検証には、はい — MD5 と SHA-1 はダウンロードページ等で今も広く使われています。ただしセキュリティ用途(パスワード、署名、証明書)では、いいえ — どちらも既知の衝突攻撃があります。セキュリティに関わる処理には SHA-256 以上を使用してください。

大きなファイルもハッシュ化できますか?

はい。ファイルは 2 MB ごとに読み込まれ、進捗が表示されます。MD5 と CRC32 は完全に逐次処理(定数メモリ)。SHA 系は Web Crypto API の制約によりファイル全体をメモリに読み込む必要があるため、~2 GB を超えるファイルは一部ブラウザで動作しないことがあります。

なぜ MD5 と SHA-256 の出力長は違うのですか?

各アルゴリズムは固定長のダイジェストを出力します:MD5 = 128 bits (32 hex)、SHA-1 = 160 bits (40 hex)、SHA-256 = 256 bits (64 hex)、SHA-384 = 384 bits (96 hex)、SHA-512 = 512 bits (128 hex)、CRC32 = 32 bits (8 hex)。