ハッシュ生成

テキストから MD5・SHA-1・SHA-256・SHA-512 ハッシュを生成。すべてブラウザ内で完結。

Loading…

すべての処理はブラウザ内で実行されます — ファイルや入力はサーバへ送信されません。

使い方

上部のパネルにテキストを入力または貼り付けると、MD5・SHA-1・SHA-256・SHA-512 の 4 種類のハッシュがそれぞれコピー ボタン付きで即座に表示されます。「uppercase output」トグルで 16 進数の大文字/小文字を切り替えられます。チェックサムファイルがどちらの表記を使うかで照合時に必要になります。

入力はハッシュ計算前に UTF-8 でエンコードされるため、言語・エディタ・プラットフォームが変わっても同じテキストなら同じハッシュになります。ただし BOM や末尾改行が混ざっていないことが前提です。SHA 系は Web Crypto を使い、MD5 はブラウザが提供していないためインラインで計算します。すべてブラウザ内で完結します。

空文字列のハッシュ

出力
MD5      d41d8cd98f00b204e9800998ecf8427e
SHA-1    da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-256  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-512  cf83e1357eefb8bd…(128 chars)

これらの定数は覚えておくと便利です。コードが誤って空バッファをハッシュしてしまった場合、ログ上で即座に気付けます。

ダウンロードしたファイル(テキスト本体)の照合

入力
The quick brown fox jumps over the lazy dog
出力
SHA-256  d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

バイナリファイルの場合はローカルで shasum -a 256 file(macOS / Linux)または Get-FileHash file -Algorithm SHA256(PowerShell)でチェックサムを計算して照合してください。本ツールはテキストのみを扱います。

アバランシェ効果を確認

入力
hello
出力
hello   → SHA-256 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
hellO   → SHA-256 fd66d4c87b3df9408a4d6ab27a25aaba53d3f9697f9e1bf2eb0067be4f01f17a

入力の 1 ビットを変えるだけで出力全体が大きく変わります。暗号学的ハッシュの定義的な性質です。

よくある質問

MD5 や SHA-1 をパスワード保存に使えますか?

いいえ。MD5 と SHA-1 はいずれも高速設計で衝突攻撃にも破られています。最新の GPU は秒間で何十億回も試行できます。パスワードには bcrypt・scrypt・Argon2 のようなパスワードハッシュ関数をユーザーごとのソルトと併用してください。汎用ハッシュは整合性チェック用であり、認証情報には不向きです。

このツールでファイルをハッシュできますか?

直接はできません。入力はテキストのみです。バイナリファイルは shasum・sha256sum・certutil・Get-FileHash などローカルツールでハッシュしてください。小さいテキストファイルなら内容を貼り付けて計算できますが、クリップボード経由では改行コードや空白の変化でハッシュが変わることがよくあります。

README に書かれているハッシュと結果が違うのはなぜですか?

入力に目に見えない違いがあるケースがほとんどです。末尾の改行、先頭の BOM、CRLF と LF の改行差、エンコーディングの不一致などです。空白を除去し、改行を LF に統一し、BOM を取り除いて試してください。1 バイトの違いでハッシュは全く変わります。

ハッシュは暗号化と同じものですか?

いいえ。ハッシュは一方向です。ハッシュから入力を復元することはできません。暗号化は正しい鍵があれば復号できます。ハッシュは「この 2 つは同一か?」を判定する用途(チェックサム・署名・重複排除)、暗号化は「鍵を持たない者には内容を見せない」用途で使います。

新規コードで使うならどのアルゴリズムが良いですか?

一般的な整合性チェック(チェックサム、コンテンツアドレス、署名の入力)にはまず SHA-256 が無難です。長いダイジェストが必要なら SHA-512、最大速度が必要なら BLAKE3(本ツールには含めていませんが知っておく価値があります)。レガシープロトコルの再現で必須でない限り、MD5 と SHA-1 は避けてください。

関連する概念

暗号学的ハッシュ関数は、任意の入力を固定長のダイジェストに変換するもので、次の 3 つの性質を満たします。原像計算困難性(ダイジェストから入力を復元できない)、第二原像計算困難性(同じダイジェストを持つ別の入力を構成できない)、衝突困難性(同じダイジェストを持つ任意の入力ペアを見つけられない)。これらが揃ったとき、ダイジェストは使える指紋になります。

MD5(128 ビット)と SHA-1(160 ビット)は衝突困難性が崩れて久しく、実際の衝突例が公開されています。セキュリティ用途では使わず、ファイルの重複排除やキャッシュキーなど非セキュリティ用途に留めるべきです。整合性確認には SHA-2(SHA-256・SHA-512)が現役です。これらいずれもパスワード保存には不向きです。高速設計だからこそ、攻撃者がハッシュを入手すれば一般的なハードウェアでも秒間数十億回の総当たりが可能です。パスワードハッシュ(bcrypt・scrypt・Argon2)はソルト・メモリコスト・調整可能な反復回数を加えて意図的に遅くしています。

関連記事

関連ツール