FIRST CH TOOLS / 23 HASH GENERATOR

MD5 / SHA-256 / SHA-512 ハッシュ生成

テキストやファイルの MD5・SHA-1・SHA-256・SHA-384・SHA-512 を同時に算出します。配布元のチェックサムを貼れば一致するかその場で照合でき、16進(小文字/大文字)・Base64・base64url で書き出せます。SHA系はブラウザ標準の Web Crypto API で計算するため、ファイルも入力もこの端末から出ません。

入力すると5種類のハッシュ値が同時に出ます

テキスト
ハッシュ値
照合する値(任意)

大文字・小文字、sha256:… のような接頭辞、<ハッシュ値>␣␣<ファイル名> の形(sha256sum の出力)、コロン区切り、Base64 のいずれもそのまま貼れます。

0
入力のバイト数
0
文字数
0
行数
照合結果
補足

    How to Use

    1. 入力するテキスト欄に文字を入れるか、「ファイル」タブへファイルをドラッグします。入力した瞬間に5種類のハッシュ値が同時に出ます。
    2. 形式を選ぶ16進(小文字/大文字)・Base64・base64url を切り替えられます。テキストの場合は改行コード(LF / CRLF)とBOMの有無でも値が変わるので、比較したい相手に合わせてください。
    3. コピーまたは照合する各行のコピーボタンで値を取得します。配布元のチェックサムを照合欄に貼れば、一致した行に 、桁数が同じで一致しなかった行に が付きます。

    About This Tool

    ハッシュ関数は、どんな長さのデータからも決まった長さの値を作る一方通行の計算です。同じ入力からは必ず同じ値が出て、1バイトでも違えば全く違う値になります。逆にハッシュ値から元のデータを復元することはできません。この性質から、ダウンロードしたファイルが壊れていないかの確認、変更があったかどうかの判定、APIリクエストの署名計算などに使われます。

    SHA系はブラウザ標準の Web Crypto APIcrypto.subtle.digest)で計算しています。ブラウザが持っているネイティブ実装なので、大きなファイルでも高速です。MD5 だけは Web Crypto に含まれていないため、このページ内のJavaScript実装(RFC 1321)で計算しています。どちらの場合もデータは端末の中だけで処理され、ネットワークへは出ません。

    MD5 と SHA-1 は「壊れて」います。異なる2つのデータから同じハッシュ値を意図的に作る攻撃(衝突攻撃)が現実的なコストで成立するため、署名・証明書・改ざん検知には使えません。それでも残っているのは、古いシステムとの互換や、単に「転送中に壊れていないか」を見るチェックサムとしては今も十分に使えるからです。これから選ぶなら SHA-256 にしてください。

    パスワードの保存にハッシュ値をそのまま使ってはいけません。SHA-256 は「速い」ことが長所で、それは総当たり攻撃をする側にとっても長所です。GPUを使えば毎秒数十億回の試行ができます。パスワードには、利用者ごとに違うソルトを混ぜたうえで意図的に遅くしたアルゴリズム(bcrypt / scrypt / Argon2)を使います。このツールの用途は整合性の確認と署名計算の下ごしらえだと考えてください。

    同じ文章なのに値が合わないときの原因は、ほぼ改行コードとBOMです。Windowsのテキストファイルは改行が CRLF(0D 0A)、macOS/Linux は LF(0A)で、ハッシュ関数から見れば別のデータです。ファイル末尾に改行があるかどうかでも変わります。このツールは改行コードとBOMを明示的に選べるので、相手側の条件を再現して突き合わせられます。文字コードは UTF-8 固定です(Shift_JIS のまま計算したい場合は文字コード変換ツールで変換したファイルを「ファイル」タブへ入れてください)。

    照合欄は、コマンドの出力をそのまま貼れるようにしてあります。sha256sum file.zip<ハッシュ値>␣␣file.zip 形式、shasum -a 256 の出力、SHA256 (file) = … 形式、sha256:… のような接頭辞付き、コロン区切りの16進、Base64(Subresource Integrity の sha384-… の後半部分など)を受け付け、桁数から対象のアルゴリズムを判定します。

    入力がブラウザの外へ出ることはありません。URLパラメータで直接呼び出せます: /hash/?text=hello/hash/?text=hello&fmt=base64/hash/?text=hello&expect=5d41402abc4b2a76b9719d911017c592

    From AI Agents

    このハッシュ計算のロジックは、MCP(Model Context Protocol)サーバー @first-ch/tools-mcphash_generate ツールとしても提供しており、ブラウザを使わずAIエージェントから直接呼び出せます。導入方法の詳細は AIエージェントからの使い方 を参照してください。

    導入

    claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp

    呼び出し例

    # テキストのハッシュ値(既定は MD5 / SHA-1 / SHA-256 / SHA-512)
    hash_generate(text="hello")
    
    # SHA-256 だけを Base64 で
    hash_generate(text="hello", algorithms=["sha256"], format="base64")
    
    # ファイルのチェックサムを配布元の値と照合する
    hash_generate(path="/tmp/app.dmg", expected="9f86d081884c7d65...")
    
    # Windows のテキストファイルと同じ値にする(CRLF + BOM)
    hash_generate(text="a\nb", newline="crlf", bom=true)

    Other Tools