ハッシュ生成ツール
テキストやファイルの MD5、SHA-1、SHA-2、SHA-3、BLAKE2、CRC-32 のハッシュ値をまとめて計算します。
ツールをここにピン留めできます。このブラウザに保存されます。
ツールをピン留めすると、そのステッカーがここに並びます。
テキストやファイルの MD5、SHA-1、SHA-2、SHA-3、BLAKE2、CRC-32 のハッシュ値をまとめて計算します。
ハッシュ関数は、任意の長さの入力を固定長の短いハッシュ値に変換します。同じ入力からは常に同じハッシュ値が得られ、このページの暗号学的ハッシュ関数では、入力が 1 ビット変わるだけで、元の値とは無関係に見えるハッシュ値になります。そのためハッシュ値は指紋として使えます。2 つのハッシュ値が異なれば入力も異なり、等しければ入力はほぼ確実に同一なので、バイト単位で比較する必要はありません。
代表的な用途は、ダウンロードしたファイルを配布元が公開しているチェックサムと照合すること、重複したファイルや変更されたファイルの検出、キャッシュキーの生成です。
セキュリティに関わる用途には SHA-256、SHA-512、SHA-3、BLAKE2 を使ってください。MD5 と SHA-1 は、同じハッシュ値を持つ 2 つの異なる入力を意図的に作れるため、セキュリティ用途ではすでに破られていますが、単なるチェックサムとしては今も広く使われています。CRC-32 は暗号学的ハッシュではなく、偶発的なデータ破損を検出するだけです。
これらはどれも高速に動くよう設計されているため、パスワードの保存には適しません。パスワードには、bcrypt のようにソルトを使う低速な関数を使ってください。
ここでの SHA3-256 は FIPS 202 で標準化された関数です。Ethereum が使う Keccak-256 はこの標準より前のもので、同じ入力でも異なるハッシュ値になります。
ハッシュ値の計算には、Go のハッシュパッケージ(標準ライブラリと、BLAKE2 用の golang.org/x/crypto)を WebAssembly にコンパイルしたものを使い、ページのメインスレッドとは別の Web Worker で実行します。ファイルは 8 MB ずつ読み込むため、大きなファイルでも全体をメモリに載せずにハッシュ化でき、ファイルが端末の外に出ることはありません。
ハッシュ値はバイト列です。hex と HEX は各バイトを 2 桁の 16 進数で表し、base64 は同じバイト列を Base64 で表します。Base64 は Subresource Integrity 属性で使われる形式です。照合欄はどちらの表記も受け付け、sha256-… や sha256:… のように先頭にアルゴリズム名が付いていてもいなくても構いません。
いいえ。ファイルはブラウザが読み込み、お使いの端末上でハッシュ化します。このツールはファイルをどこにも送信せず、サイトの Content-Security-Policy により、ページがほかのホストに接続することもできません。
よくある原因は、目に見えない入力の違いです。末尾の改行、Windows の改行コード、バイトオーダーマーク(BOM)、異なる文字エンコーディングなどが挙げられます。このツールは入力欄の文字を UTF-8 でエンコードしてハッシュ化し、何も付け加えません。入力欄の改行は常に LF 1 文字になるため、Windows の改行コードを含むテキストをハッシュ化するには、ファイルに保存してからそのファイルをハッシュ化してください。
できません。ハッシュ関数は情報を捨てるため、復号できるものがありません。ただし、短い入力やよくある入力は、推測して比較すれば見つけられます。パスワードにソルトを使う低速な関数が必要なのはそのためです。
どちらも NIST が標準化したものですが、設計が異なります。SHA-256 や SHA-512 を含む SHA-2 ファミリーは、長年使われてきた標準的な選択肢です。SHA-3 は Keccak のスポンジ構造に基づいており、将来 SHA-2 に弱点が見つかった場合に備えて、異なる設計の代替として標準化されました。現在はどちらも安全と考えられています。
専用のウィンドウで開き、オフラインでも使えます。
インストールするには、共有ボタンをタップして「ホーム画面に追加」を選びます。