言語を選択

テキストとファイルのハッシュ値生成ツール

テキストやファイルからMD5、SHA-256、SHA-512などのハッシュ値を一度に計算。チェックサムの検証やBase64出力にも対応し、ブラウザ内で安全に処理します。

ハッシュ生成ツール使い方 ↓
入力されたままのUTF-8としてハッシュ化されます。スペースや改行も含まれます
大文字と小文字、余分なスペースを無視して、すべての結果と比較します
Mehmet Demiray 公開日 更新日
共有

ハッシュ生成ツールの基本的な使い方

ハッシュ生成ツールは、テキストやファイルからMD5、SHA-1、SHA-256、SHA-384、SHA-512、およびCRC32のハッシュ値を一度に計算できるウェブアプリケーションです。画面のフォームでテキストを入力するかファイルを選択し、必要なアルゴリズムのチップが選択されていることを確認してハッシュを生成します。出力形式はhexの小文字または大文字、あるいはBase64から選べます。

配布サイトなどで公開されているチェックサムと照合したい場合は、期待されるチェックサムフィールドに値を貼り付けます。hex形式で大文字小文字や周囲のスペースが含まれていても自動的に無視され、sha256sumコマンドの出力結果をそのまま貼り付けた場合も最初のトークンを使用して比較されます。結果の表には各アルゴリズムのハッシュ値と、一致または不一致を示すカラムが表示されます。ファイルを選択した場合はファイル名とサイズ、テキストを入力した場合はUTF-8での入力バイト数がフットノートとして記録され、結果はCSV、Excel、PDF、または画像形式でエクスポート可能です。

ダウンロードファイルのチェックサム検証

インターネットからISOイメージ、インストーラー、ファームウェアなどをダウンロードする際、ファイルが破損したり改ざんされたりしていないかを確認するためにチェックサム検証を行います。まず、配布元のサイトからSHA-256などのハッシュ値をコピーします。次にハッシュ生成ツールでファイルを選択し、期待されるチェックサムフィールドにコピーした値を貼り付けます。結果の表で一致と表示されれば、ダウンロードしたファイルは公開されているものと完全に同じです。

ハッシュ関数の性質上、ファイル内のたった1バイトが変化しただけでも、生成されるハッシュ値は全く異なるものになります。ただし、注意点として、ファイルと同じサーバーに配置されているチェックサムが一致したとしても、それはダウンロードが完全に完了したことと、サーバー上のファイルと同一であることしか証明しません。サーバー自体が侵害されている可能性を排除するには、開発者のデジタル署名が付与されたチェックサムを検証する必要があります。

ハッシュアルゴリズムの選び方

目的に応じて適切なハッシュアルゴリズムを選択することが重要です。各アルゴリズムの出力長と特徴を比較します。MD5は128ビットでhex表記では32文字、SHA-1は160ビットで40文字、SHA-256は256ビットで64文字、SHA-384は384ビットで96文字、SHA-512は512ビットで128文字です。

アルゴリズム ビット長 hex文字数 現状のステータス
MD5 128 32 衝突の作成が実用的(RFC 6151)
SHA-1 160 40 NISTにより廃止
SHA-256 256 64 現在の標準(FIPS 180-4)
SHA-384 384 96 現在の標準
SHA-512 512 128 現在の標準
CRC32 32 8 エラーチェック用

MD5とSHA-1はセキュリティ用途では安全ではありませんが、ネットワーク転送時の偶発的なデータ破損を検出する目的では依然として有用です。攻撃者による改ざんの可能性がある環境では、必ずSHA-256以上のアルゴリズムを使用してください。CRC32は暗号学的ハッシュ関数ではなく、単なるエラー検出コードです。

ハッシュと暗号化の違い

ハッシュ関数と暗号化は混同されやすいですが、根本的に異なる概念です。暗号化はデータを特定の鍵を使用して変換し、適切な鍵を使えば元のデータに復号できる可逆的なプロセスです。一方で、ハッシュ関数は任意のサイズのデータから固定長のハッシュ値を生成する一方向の数学的関数であり、復号するための鍵は存在せず、ハッシュ値から元のデータを復元することはできません。

この一方向性のため、短いテキストや一般的な単語のハッシュ値は、事前に計算されたレインボーテーブルなどのデータベースと照合することで、元のテキストが特定されるリスクがあります。そのため、ユーザーのパスワードを保存する際には、単純なSHA-256やMD5を使用するのではなく、bcryptやArgon2のような、計算に意図的に時間がかかりソルトを組み込む専用のアルゴリズムを採用する必要があります。ハッシュはデータの完全性検証や識別子の生成に適しており、機密データの保護には暗号化を使用します。

ハッシュ値が一致しない理由

テキストのハッシュ値を計算した際に、他のサイトやツールの結果と一致しない経験をしたことがあるかもしれません。テキストのハッシュは、目に見える文字だけでなく、正確なバイト列に対して計算されます。末尾に意図しないスペースが入っている、Windows環境のCRLFとUnix環境のLFで改行コードが異なる、あるいはUTF-8とShift_JISでテキストエンコーディングが異なると、ハッシュ値は完全に変化します。

ハッシュ生成ツールは、入力されたテキストを常にUTF-8として扱い、末尾の空白や改行を自動的にトリミングすることなく、入力されたままの正確なバイト列をハッシュ化します。hex形式での大文字と小文字は比較時に区別されませんが、Base64形式では大文字小文字が異なるデータとして扱われるため注意が必要です。もし、改行コードの統一や末尾の空白を削除するオプションが必要な場合は、テキストからMD5ハッシュを生成するツールが役立ちます。

プライバシーと無料のファイルハッシュ計算

機密性の高いドキュメントや個人情報を含むファイルのハッシュ値を計算する際、データのアップロードに懸念を抱くのは自然なことです。ハッシュ生成ツールは、Web Crypto APIを利用してブラウザ内でファイルの読み取りとハッシュ計算を完結させます。ファイルが外部サーバーに送信されることは一切なく、ページを読み込んだ後であればオフライン環境でも動作します。アカウント登録や1日の利用回数制限もなく、完全に無料で利用できます。

ファイルサイズの上限は1 GBに設定されています。これは、ブラウザのWeb Crypto APIがハッシュ計算を行う際にファイル全体をメモリに読み込む仕様によるものです。スマートフォンなどのメモリが限られたデバイスでは、上限より小さいファイルでも処理に失敗する場合があります。単一ファイルのMD5計算とHMAC署名が必要な場合はファイルからMD5ハッシュを生成するツールを、複数のファイルを一括で処理したい場合は複数ファイルのMD5ハッシュ一括生成ツールを使用することで、より効率的に作業を進められます。

最もよくいただく質問

SHA-256ハッシュを生成するにはどうすればよいですか?

ハッシュ生成ツールでテキストまたはファイルを選択し、SHA-256が選択された状態で計算を実行します。テキストはUTF-8として入力されたままハッシュ化されます。ファイルを選択した場合は、ブラウザ内で読み取られ、プログレスバーと共にハッシュ値が計算されます。

ダウンロードしたファイルのチェックサムを検証するにはどうすればよいですか?

ファイルを選択し、配布元サイトで公開されているチェックサムをExpected checksum欄に貼り付けてください。ツールが自動で計算結果と比較し、一致した場合はMatchと表示されます。sha256sum コマンドの出力結果をそのまま貼り付けた場合も、最初のトークンを使用して自動的に検証されます。

ファイルはサーバーにアップロードされますか?

いいえ、ファイルが外部サーバーにアップロードされることはありません。ハッシュ生成ツールはWeb Crypto APIを使用して、ブラウザ内でローカルにファイルを読み取り、ハッシュ化を行います。そのため、オフライン環境でもページが読み込まれていれば利用でき、プライバシーが完全に保護されます。

MD5、SHA-1、SHA-256の違いは何ですか?

主な違いは出力されるビット長と衝突耐性です。MD5は 128 ビット(hexで 32 文字)、SHA-1は 160 ビット(hexで 40 文字)、SHA-256は 256 ビット(hexで 64 文字)を出力します。MD5とSHA-1は意図的な改ざんに対する衝突耐性が不十分なため、セキュリティ用途にはSHA-256以上の使用が推奨されます。

テキストのハッシュ値が他のサイトと異なるのはなぜですか?

ハッシュ値はバイト列の完全な一致に依存するため、末尾のスペースや改行コード、文字エンコーディングの違いによって結果が変わります。ハッシュ生成ツールは入力されたテキストをトリミングせず、UTF-8としてそのままハッシュ化します。改行コードやトリミングのオプションが必要な場合は、テキストをMD5ハッシュに変換をご利用ください。

ハッシュと暗号化の違いは何ですか?

ハッシュは一方通行の関数であり、元のデータに復号することはできません。暗号化は鍵を使ってデータを復元可能に変換しますが、ハッシュはデータの完全性を確認するための固定長のフィンガープリントです。パスワードの保存には、単純なSHA-256ではなく、bcryptやArgon2のような遅延処理とソルトを組み合わせた専用のアルゴリズムが必要です。

ファイルサイズの制限はありますか?

はい、現在の制限は 1 GB です。これはブラウザのWeb Crypto APIがファイル全体をメモリに読み込む必要があるためです。スマートフォンなどのメモリが少ない環境では、これより小さいファイルでも処理に失敗する可能性があります。複数のファイルを一括で処理したい場合は、一括MD5ハッシュ生成が便利です。

出力形式のhexとBase64はどちらを使えばよいですか?

一般的なファイルのチェックサム検証やコマンドラインツールとの連携にはhexが標準的です。一方、Base64は文字数が短く、ウェブ開発におけるSubresource Integrityや一部のAPI署名でよく使用されます。用途に合わせて切り替えてください。

参考文献

  1. FIPS 180-4: Secure Hash Standard (SHS) · NIST
  2. RFC 1321: The MD5 Message-Digest Algorithm · IETF
  3. RFC 6234: US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF) · IETF
  4. RFC 6151: Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms · IETF
  5. NIST Transitioning the Use of Cryptographic Algorithms and Key Lengths (SP 800-131A Rev. 2) · NIST
  6. NIST Retires SHA-1 Cryptographic Algorithm · NIST
  7. SubtleCrypto: digest() method · MDN Web Docs