MD5ハッシュジェネレーター&ファイルチェックサムツール
無料オンラインMD5ハッシュ生成ツール。ブラウザ上でMD5・SHA-256・SHA-1・SHA-512のハッシュ値を即座に生成。テキストやファイルのチェックサム検証・比較、ワンクリックコピー対応。登録不要でデータはサーバーに送信されません。
MD5ハッシュジェネレーターとは?
MD5(Message-Digest Algorithm 5)は、1991年にRonald Rivestが設計した128ビットの暗号学的ハッシュ関数で(RFC 1321)、任意の入力から固定長32文字の16進数フィンガープリントを生成します。かつてはデジタル署名や証明書の検証に広く使用されていましたが、現在はセキュリティ用途では正式に非推奨となっています。ただし、非セキュリティ用途のチェックサム、キャッシュキー、データ重複排除には依然として広く使われています。
「MD5 must not be used for digital signatures... NIST is formally deprecating use of MD5.」— NIST SP 800-131A
本ツールはMD5に加えて、SHA-1(40文字hex)、SHA-256(64文字hex)、SHA-384(96文字hex)、SHA-512(128文字hex)をサポートしています。NISTは2011年にMD5のセキュリティ用途を非推奨としました(NIST SP 800-131A)。セキュリティが求められる用途にはSHA-256またはSHA-512をご使用ください。
ハッシュ関数は一方向性です。入力からハッシュを計算できますが、ハッシュから元のデータを復元することはできません。この特性により、ファイルの整合性検証、チェックサムの生成、一意な識別子の作成に活用されています。
重要:MD5とSHA-1は暗号学的に破られており、パスワードハッシュやデジタル署名などのセキュリティ用途には使用しないでください。パスワードの保存にはbcrypt、scrypt、またはArgon2を使用してください。
すべてのハッシュ処理は、Web Crypto API(SHA系)とピュアJavaScript実装(MD5)を使用して完全にブラウザ内で実行されます。データが端末の外に出ることは一切ありません。ブラウザの「ネットワーク」タブで確認できます。
// Hash text using Web Crypto API (SHA-256)
async function sha256(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-256', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha256('Hello, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f' 主な機能
5種類のハッシュアルゴリズム
MD5、SHA-1、SHA-256、SHA-384、SHA-512をすべて1つのツールでサポート。ワンクリックでアルゴリズムを切り替えて、出力を即座に比較できます。
テキスト&ファイルハッシュ
テキスト入力のハッシュ化やファイルの直接アップロードに対応。ドラッグ&ドロップにも対応しており、ファイルの整合性検証やチェックサム生成に最適です。
100%ブラウザ処理
すべての計算はWeb Crypto APIを使用してローカルで実行されます。データがサーバーに送信されることはありません。ファイルやテキストは完全にプライベートに保たれます。
即座に結果表示
ミリ秒単位でハッシュ結果を取得できます。ワンクリックでクリップボードにコピー。大文字・小文字の16進数表示を切り替えられます。
ハッシュアルゴリズム比較
MD5
128ビット / 32文字hex最速のハッシュアルゴリズムですが、2004年以降暗号学的に破られています。非セキュリティのチェックサム、キャッシュキー、データ重複排除にのみ適しています。パスワードやデジタル署名には使用しないでください。
SHA-1
160ビット / 40文字hex同様に暗号学的に危殆化しています。Googleが2017年に実用的な衝突を実証しました。すべての主要ブラウザと認証局で非推奨です。レガシーシステムの互換性にのみ使用してください。
SHA-256
256ビット / 64文字hexセキュアハッシュの現在の業界標準。TLS証明書、Bitcoin、ファイル整合性検証に使用されています。暗号学的ハッシュ関数が必要なほとんどの新規プロジェクトに推奨されます。
SHA-512
512ビット / 128文字hexSHA-2ファミリーで最も強力な選択肢。64ビットプロセッサではSHA-256より実際に高速です。高セキュリティアプリケーション、SSHキー、TLS 1.3などのプロトコルで使用されています。
使用例
空文字列のMD5ハッシュ
(empty string)
d41d8cd98f00b204e9800998ecf8427e
MD5('') = d41d8cd98f00b204e9800998ecf8427e。空の入力に対するMD5ハッシュは既知の定数値で、テストに役立ちます。
'Hello, World!'のSHA-256ハッシュ
Hello, World!
dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f
SHA-256('Hello, World!') = dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f。SHA-256は64文字の16進数文字列を生成します。
MD5ファイルチェックサム
ubuntu-24.04-desktop-amd64.iso
(配布元のチェックサムと比較してください)
「ファイル」タブを使用して、ファイルのMD5チェックサムを計算します。このハッシュを配布元が提供するチェックサムと比較して、ダウンロード中にファイルが改ざんされていないことを確認できます。
使い方
- 1
入力モードを選択
テキストをハッシュ化する場合は「テキスト」タブを、ファイルをハッシュ化する場合は「ファイル」タブを選択してください。
- 2
データを入力
テキストモードでは、テキストを入力または貼り付けてください。ファイルモードでは、ファイルをドラッグ&ドロップするか、アップロードエリアをクリックして選択してください。
- 3
アルゴリズムを選択
MD5、SHA-1、SHA-256、SHA-384、SHA-512から選択してください。デフォルトではMD5が選択されています。
- 4
生成してコピー
「ハッシュを生成」をクリックして結果を計算します。「コピー」ボタンでハッシュをコピーするか、「大文字」をクリックして大文字の16進数表示に切り替えられます。
よくあるエラー
改行コードの違い
OS によって異なる改行コードが使用されます。Unix/macOSはLF(\n)、WindowsはCRLF(\r\n)を使用します。異なるシステムでコピーした同じテキストが異なるハッシュを生成することがあります。
"Hello\r\nWorld" → 4a24aba0b89e5056... (CRLF)
"Hello\nWorld" → 68e109f0f40ca72a... (LF — normalize first)
文字エンコーディングの違い
同じ文字でも、UTF-8とLatin-1(ISO-8859-1)では異なるバイト表現になります。テキストが同じに見えても異なるハッシュが生成されます。
"café" (Latin-1, 4 bytes) → 5765dac89dc15ef4...
"café" (UTF-8, 5 bytes) → 5c462401420cd614... (always use UTF-8)
末尾の空白
コピー&ペーストによる目に見えない末尾のスペースや改行がハッシュを変えることがあります。ハッシュを比較する際は、必ず入力をトリムするか、末尾の空白に注意してください。
"Hello " (trailing space) → d3ed7e7e35011513...
"Hello" (no trailing space) → 8b1a9953c4611296...
主な活用シーン
- ファイルの整合性検証
- ダウンロードしたファイルのハッシュを配布元が提供するチェックサムと比較して、ファイルが破損したり改ざんされていないことを確認します。
- データの重複排除
- ファイルやデータブロックのハッシュを生成して、内容をバイト単位で比較せずに重複を素早く特定します。
- キャッシュキーの生成
- 入力データから決定論的なハッシュキーを作成し、キャッシュの無効化、ETag、コンテンツアドレッサブルストレージに活用します。
- API署名の検証
- 多くのAPIはリクエスト署名プロセスにMD5やSHA-256を使用しています。このツールでAPI署名を手動で検証・デバッグできます。
技術仕様
- MD5アルゴリズム
- MD5(Message-Digest Algorithm 5、RFC 1321)は128ビットのハッシュを生成します。入力を512ビットブロックに分割し、各16操作からなる4ラウンドで処理します。高速ですが、暗号学的に破られており、衝突攻撃は数秒で実行可能です。
- SHAファミリー
- SHA-1は160ビットのハッシュを生成し、SHA-256およびSHA-384/512はSHA-2ファミリーに属します。本ツールはすべてのSHAバリアントにブラウザネイティブのWeb Crypto API(crypto.subtle.digest())を使用し、最適なパフォーマンスと正確性を確保しています。
- Web Crypto API
- SubtleCrypto.digest()メソッドは、すべてのモダンブラウザでハードウェアアクセラレーション対応のハッシュ処理を提供します。ArrayBuffer入力を受け取りArrayBuffer出力を返し、それを16進数文字列に変換して表示します。
ベストプラクティス
- MD5をセキュリティ用途に使わない
- MD5は暗号学的に破られています。パスワードハッシュ、デジタル署名、証明書の検証には使用しないでください。整合性チェックにはSHA-256以上を、パスワードにはbcrypt/Argon2を使用してください。
- チェックサムにはSHA-256を使用
- ファイルの整合性検証に信頼性の高いチェックサムが必要な場合、SHA-256が現在の標準です。高速で衝突耐性があり、広くサポートされています。
- ダウンロードファイルをハッシュで検証
- ダウンロードしたソフトウェアやISOのハッシュを必ず配布元のチェックサムと照合してください。「ファイル」タブでハッシュを計算して比較できます。
- ハッシュの入力感度
- ハッシュ関数は入力の変化に極めて敏感です。1ビットの違いでも全く異なるハッシュが生成されます。空白や改行コードを含め、ハッシュ化する入力が意図したものと完全に一致していることを確認してください。
よくある質問
MD5ハッシュとは何ですか?
MD5はまだ安全ですか?
MD5とSHA-256の違いは何ですか?
ファイルのチェックサムを検証するにはどうすればよいですか?
MD5、SHA-1、SHA-256のどれを使うべきですか?
MD5ハッシュから元のテキストを復元できますか?
このツールを使用する際にデータは安全ですか?
同じテキストなのに異なるハッシュが生成されるのはなぜですか?
大容量ファイルのハッシュ化はできますか?
MD5チェックサムとハッシュの違いは何ですか?
MD5は暗号化と同じですか?
JavaScriptやPythonでMD5ハッシュを生成するにはどうすればよいですか?
const hash = await crypto.subtle.digest('SHA-256', new TextEncoder().encode('text')); Web CryptoはMD5をネイティブサポートしていないため、'crypto-js'などのライブラリやピュアJS実装を使用してください。Pythonでは:import hashlib; hashlib.md5('text'.encode()).hexdigest()。Node.jsでは:require('crypto').createHash('md5').update('text').digest('hex')。または、コードを書かずに手軽にハッシュを生成するには本ツールをご利用ください。 ダウンロードしたファイルの破損を検証するにはMD5とSHA-256のどちらを使うべきですか?
レガシーシステムがパスワードをMD5ハッシュで保存しています。全ユーザーにリセットさせずにbcryptに移行するにはどうすればよいですか?
コンテンツアドレッサブルストレージを構築しています。重複排除などの非セキュリティハッシュにMD5はまだ安全ですか?
関連ツール
すべてのツールを見る →ランダムパスワードジェネレーター
セキュリティツール
無料のオンラインランダムパスワード生成ツール。ブラウザ上で安全な強力パスワードを即座に自動生成できます。長さや文字種のカスタマイズ、最大50個の一括生成に対応。エントロピー分析付き強度メーター搭載。データはサーバーに送信されません。
UUID生成ツール & デコーダー
セキュリティツール
無料のオンラインUUID生成ツール。v1/v4/v5/v7の全バージョンを即時生成。UUIDのデコード・検証、最大50件の一括生成に対応。登録不要、100%ブラウザ上で動作します。
進数変換ツール — 2進数・16進数・10進数・8進数
単位変換
無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。
Base64エンコーダー&デコーダー
エンコーディングとフォーマット
Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。
画像圧縮ツール — JPEG・PNG・WebP を無料でオンライン圧縮
単位変換
無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。
JSONフォーマッター&バリデーター
エンコーディングとフォーマット
無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。