テキストやファイルを入力するだけで、複数アルゴリズムのハッシュ値を同時に計算します。 HMACによる鍵付きハッシュ生成、ハッシュ値の照合機能も備えています。
―
―
―
―
―
入力データ量
24B
8文字(UTF-8換算)
計算モード
通常ハッシュ
ADVICE
MD5・SHA-1は現在では改ざん検知や整合性チェックのみに使い、パスワード保存や署名にはSHA-256以上の利用を推奨します。
アルゴリズム
HMAC(秘密鍵付き)
APIの署名検証やWebhookの正当性確認など、鍵付きハッシュ(HMAC)が必要な場面で利用できます。
ハッシュ値を照合
ハッシュ値とは?MD5・SHA-256の仕組みと使い分け方
ハッシュ値とは、任意の長さのデータから、常に決まった長さの固定文字列を計算で導き出す「一方向関数」の出力結果です。同じデータからは必ず同じハッシュ値が得られる一方、ハッシュ値から元のデータを逆算することは事実上不可能な設計になっています。この性質が、ファイルの改ざん検知やパスワードの安全な取り扱いに広く応用されています。
本ツールは、入力されたテキストやファイルからMD5・SHA-1・SHA-256・SHA-384・SHA-512の5種類のハッシュ値を同時に計算できるオンラインツールです。ダウンロードしたファイルの整合性確認、プログラミング学習、APIのHMAC署名検証まで、ひとつの画面で完結します。
さらに、秘密鍵を使った鍵付きハッシュ(HMAC)の生成や、既存のハッシュ値との照合機能も備えており、実務での検証作業をそのまま行えるよう設計しています。
こんなシーンで便利です
ダウンロードしたファイルの改ざん・破損チェック
配布元サイトに記載されたSHA-256などのハッシュ値と、実際にダウンロードしたファイルのハッシュ値を照合し、通信エラーや改ざんがないかを確認できます。
プログラミング学習・アルゴリズムの動作確認
自分の書いたコードが出力するハッシュ値と、本ツールで計算した値を突き合わせることで、実装の正しさをその場で検証できます。
WebhookやAPI連携のHMAC署名検証
外部サービスから送られてくるWebhookリクエストの署名が正しいかどうか、秘密鍵を使ったHMAC計算をブラウザ上で再現して確認できます。
重複ファイルの検出・データ整理
複数のファイルのハッシュ値を比較することで、ファイル名が異なっていても中身が完全に一致する重複ファイルを特定できます。
セキュリティ・暗号技術の学習教材として
文字列を少し変えるだけでハッシュ値が大きく変化する「雪崩効果」を実際に手を動かして体験でき、情報セキュリティの学習にも活用できます。
使い方は簡単 3ステップ
- 「テキストから生成」または「ファイルから生成」を選び、対象のテキストまたはファイルを入力します。
- 右側のパネルで表示したいアルゴリズムを選択し、必要に応じて出力形式(16進数・Base64)やHMACの秘密鍵を設定します。
- 各アルゴリズムのハッシュ値が自動計算されます。照合したいハッシュ値がある場合は「ハッシュ値を照合」欄に貼り付けて一致を確認します。
※入力内容を変更するたびにリアルタイムで再計算されるため、再計算ボタンを押す手間はありません。
ご利用時の注意点
- MD5・SHA-1の安全性について:MD5とSHA-1はいずれも衝突攻撃の手法が確立されており、セキュリティが求められる用途(デジタル署名・証明書など)での利用は推奨されません。
- パスワード保存への利用について:本ツールで生成した単純なハッシュ値は、実運用のパスワード保存には適しません。実装にはソルト付与とbcrypt・Argon2などの専用関数を使用してください。
- 大文字・小文字について:ハッシュ値の大文字・小文字表記は見た目の違いであり、値そのものの意味は変わりません。照合機能では区別せずに判定しています。
- 完全無料・安全:入力したテキストやファイルの漏洩リスクをゼロにするため、通信が発生しないブラウザ完結型を採用しています。
ハッシュアルゴリズム比較表:出力桁数と安全性の目安
「結局どのアルゴリズムを使えばいいの?」という方向けに、それぞれの特徴を比較しました。
| アルゴリズム | 出力ビット数 | 16進数の桁数 | 現在の安全性評価 |
|---|---|---|---|
| MD5 | 128ビット | 32文字 | 非推奨(衝突攻撃が実用化) |
| SHA-1 | 160ビット | 40文字 | 非推奨(衝突攻撃が確認済み) |
| SHA-256 | 256ビット | 64文字 | 推奨(現在の標準的な選択肢) |
| SHA-384 | 384ビット | 96文字 | 安全(高い安全性が必要な場合に) |
| SHA-512 | 512ビット | 128文字 | 安全(最も高い安全性水準) |
【選び方の目安】
新規に何かを開発・設計する場合は、原則としてSHA-256以上を選択してください。MD5・SHA-1は、既存システムとの互換性維持や、セキュリティを要求しない簡易的なチェックサム用途に限って利用を検討してください。
MD5・SHA-256の仕組みと、安全に使うための注意点
ハッシュ関数を正しく理解し、用途に応じて適切に使い分けるための基礎知識を解説します。
MD5とは:128ビットの出力を持つ初期の代表的ハッシュ関数
MD5(Message Digest Algorithm 5)は1991年に考案された、128ビット(32文字の16進数)のハッシュ値を出力するアルゴリズムです。
計算速度が速く長らくファイルの整合性チェックなどに広く使われてきましたが、2000年代以降、異なる入力から同じハッシュ値を意図的に作り出す「衝突攻撃」が実用レベルで確認されており、現在ではセキュリティ用途での新規利用は推奨されていません。
SHA-256とは:SHA-2ファミリーに属する現在の標準的な選択肢
SHA-256は、256ビット(64文字の16進数)のハッシュ値を出力するSHA-2ファミリーのアルゴリズムです。
ビットコインをはじめとする暗号資産のブロックチェーン、TLS証明書、多くのAPI署名など、現在のインターネットインフラの根幹で広く採用されており、2024年時点でも実用上安全なアルゴリズムとして推奨されています。
「雪崩効果」とは:入力のわずかな変化で出力が大きく変わる性質
優れたハッシュ関数は、入力データをたった1ビット変えるだけでも、出力されるハッシュ値の約半分のビットが変化するという「雪崩効果(アバランチ効果)」を持ちます。
この性質により、ファイルの一部だけが改ざんされた場合でもハッシュ値全体が大きく変わるため、わずかな改ざんも確実に検知できる仕組みになっています。
レインボーテーブル攻撃とソルトの必要性
「レインボーテーブル」とは、よく使われるパスワードとそのハッシュ値をあらかじめ大量に計算しておいた対応表のことです。
パスワードを単純にハッシュ化しただけで保存すると、この対応表と照合するだけで元のパスワードが割り出されてしまう危険があります。実務では、ユーザーごとに異なるランダムな文字列(ソルト)をパスワードに付加してからハッシュ化することで、この攻撃を防ぐのが基本的な対策です。
HMACの仕組みと、通常のハッシュ値との本質的な違い
HMACは「秘密鍵」と「メッセージ」を組み合わせた鍵付きハッシュ値で、内部的にはハッシュ関数を2回適用する構造(ipad・opadと呼ばれる固定パターンを鍵にXOR演算する仕組み)で計算されます。
秘密鍵を知らない第三者は正しいHMAC値を再現できないため、「送信者が確かに秘密鍵を持っている」ことの証明として、API通信の署名検証などに活用されています。
よくある失敗と対策
パスワードの保存にMD5やSHA-256の単純なハッシュ値をそのまま使ってしまう
「ハッシュ化しているから安全」と誤解し、ソルトを付与しないままパスワードをMD5やSHA-256でハッシュ化してデータベースに保存し、レインボーテーブル攻撃で元のパスワードを割り出されてしまう失敗です。
💡 対策・解決策を見る▼
ファイルのハッシュ値を比較する際、大文字・小文字や余分な空白を含んだまま照合してしまう
配布元のハッシュ値をコピーする際に前後の空白や改行が混入し、値自体は一致しているのに文字列比較上は不一致と判定されてしまう失敗です。
💡 対策・解決策を見る▼
デジタル証明書やコード署名にMD5・SHA-1を使い続け、セキュリティ監査で指摘を受ける
古いシステムの慣習のままMD5やSHA-1を証明書や署名アルゴリズムとして使い続け、セキュリティ監査やブラウザ側の警告で「非推奨アルゴリズム」として指摘を受ける失敗です。
💡 対策・解決策を見る▼
HMACの秘密鍵を他のAPIキーや設定値と混同し、誤った鍵で署名を検証してしまう
複数のAPI連携先でそれぞれ異なるHMAC用の秘密鍵が発行されているにもかかわらず、共通のAPIキーを誤って使い回し、署名が一致せず正当なリクエストまで弾いてしまう失敗です。
💡 対策・解決策を見る▼
よくある質問(FAQ)
Q.MD5とSHA-256の違いは何ですか。どちらを使えばよいですか
A. MD5は128ビット(32文字の16進数)、SHA-256は256ビット(64文字の16進数)のハッシュ値を出力するアルゴリズムです。MD5は既に「衝突攻撃」と呼ばれる、異なる入力から同じハッシュ値を意図的に作り出す手法が実用レベルで確立されており、セキュリティ用途には推奨されません。ファイルのダウンロード確認など軽微な整合性チェックであればMD5でも実用上問題ないケースがありますが、パスワードの保存やデジタル署名など安全性が求められる用途では、必ずSHA-256以上を選んでください。
Q.ハッシュ値から元のテキストやパスワードを復元することはできますか
A. できません。ハッシュ関数は「一方向関数」と呼ばれ、入力から出力(ハッシュ値)を計算することは可能ですが、出力から入力を逆算することは数学的に極めて困難な設計になっています。ただし、よく使われる単純なパスワードについては「レインボーテーブル」と呼ばれる事前計算済みの対応表を使って割り出される可能性があるため、パスワードそのものをハッシュ化するだけでは安全とは言えません。
Q.同じ文字列を入力すると、常に同じハッシュ値になりますか
A. はい、通常のハッシュ計算(HMACを使わない場合)では、同じ入力データからは常に同じハッシュ値が生成されます。これはハッシュ関数の「決定性」と呼ばれる性質で、ファイルの改ざん検知や整合性チェックが成り立つ根拠になっています。逆に、たった1文字でも入力が変われば、ハッシュ値は全く異なる値になります。
Q.「HMAC」とは何ですか。通常のハッシュと何が違いますか
A. HMAC(Hash-based Message Authentication Code)は、秘密鍵とメッセージを組み合わせて計算する鍵付きのハッシュ値です。通常のハッシュ値は誰でも同じ計算結果を得られますが、HMACは秘密鍵を知っている人でなければ同じ値を再現できません。この性質を利用して、API通信の送信元が正当であることを確認するWebhookの署名検証などに広く使われています。
Q.ファイルのハッシュ値を確認するのはどのような場面で必要ですか
A. ソフトウェアの配布元が公開しているハッシュ値と、実際にダウンロードしたファイルのハッシュ値を照合することで、ダウンロード中の通信エラーや、悪意ある第三者によるファイルの改ざんがないかを確認できます。特にOSのインストールイメージやオープンソースソフトウェアの配布では、公式サイトにSHA-256のハッシュ値が併記されているケースが一般的です。
Q.パスワードをそのままハッシュ化してデータベースに保存すれば安全ですか
A. MD5やSHA-256でパスワードを単純にハッシュ化しただけでは、レインボーテーブル攻撃などのリスクが残るため、実務上は十分とは言えません。実際のシステム開発では、ユーザーごとに異なるランダムな文字列(ソルト)を付加したうえで、bcryptやArgon2のような、意図的に計算コストを高くした専用のパスワードハッシュ関数を使うのが標準的な対策です。本ツールは学習・検証・簡易的な整合性チェックを目的としたものであり、実運用のパスワード管理には専用のライブラリの利用を強く推奨します。
Q.入力したテキストやアップロードしたファイルが外部に送信される心配はありませんか
A. 一切ありません。当ツールはMD5・SHA-1・SHA-256などすべてのハッシュ計算処理をユーザーのブラウザ内だけで実行する完全ローカル処理型の設計です。入力内容やファイルが外部サーバーへ送信されたりデータベースに保存されたりすることはなく、ページを閉じればデータは即座にメモリ上から消去されます。
Q.大きなサイズのファイルでもハッシュ値を計算できますか
A. はい、対応しています。ただし、すべての処理がお使いの端末のブラウザ上で行われるため、数百MB〜GB単位の非常に大きなファイルの場合、端末の性能によっては計算に時間がかかることがあります。
Q.生成したハッシュ値の大文字・小文字は結果に影響しますか
A. ハッシュ値そのものの大文字・小文字表記は見た目の違いにすぎず、計算結果が変わるわけではありません。ただし、他のハッシュ値と照合(比較)する際に文字列として単純比較を行うシステムもあるため、本ツールの照合機能では大文字・小文字を区別せずに一致判定を行っています。
あなたの声で、
このツールをより鋭く。
「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。