ハッシュ値生成

このツールでできること

テキストまたはファイルから SHA-1・SHA-256・SHA-384・SHA-512 のハッシュ値を生成する無料オンラインツールです。ブラウザの Web Crypto API を使ってすべて端末内で計算するため、入力内容は一切サーバーに送信されません。パスワードのハッシュ化(学習用)・ファイルの整合性確認・改ざん検知などに使えます。

特徴

  • 4種類のハッシュアルゴリズム — SHA-1・SHA-256・SHA-384・SHA-512 を同時に計算。
  • テキスト/ファイル両対応 — テキスト入力またはローカルファイルを選択できます。
  • 完全クライアント処理 — Web Crypto API で端末内計算。ネットワーク通信なし。
  • リアルタイム計算 — テキスト入力と同時にハッシュ値が更新されます。
  • ワンクリックコピー — 各ハッシュ値を個別にコピーできます。

使い方

  1. 「テキスト」または「ファイル」を選択します。
  2. テキストを入力、またはファイルを選択します。テキスト入力の場合はリアルタイムで計算されます。
  3. 各ハッシュ値が自動で表示されます。大きなファイルの場合は「計算中...」と表示された後、完了次第に値が出ます。
  4. 必要なハッシュ値の「コピー」ボタンでクリップボードに取得します。「コピー済み」表示で確認できます。

こんなときに使えます

  • ファイル整合性の確認 — ダウンロードしたファイルが破損・改ざんされていないか、配布元のハッシュ値と比較して確認。
  • ISO イメージ・アプリ配布物の検証 — Linux ディストリビューションや OSS プロジェクトはハッシュ値を公開しているため、一致するか確認できます。
  • Git コミット調査 — Git は内部で SHA-1 を使用しており、コミットハッシュの仕組みを理解する学習に。
  • CTF・セキュリティ学習 — ハッシュ関数の出力を観察して一方向性・衝突性を学ぶ。
  • API リクエスト署名の検証 — HMAC の前段でのハッシュ計算の確認。
  • データ重複検出の学習 — 同じ内容のファイルは同じハッシュになるため、重複検出の仕組みを体験。
  • JWT 学習 — JWT の署名に使われる SHA-256 の出力を手元で確認。

ハッシュアルゴリズムの違い

  • SHA-1(160bit, 40文字)— Git のコミットハッシュで使用されるが、2017年に衝突が実証されたため新規セキュリティ用途では非推奨。
  • SHA-256(256bit, 64文字)— Bitcoin・JWT・TLS 証明書などで広く使われる現代の標準。安全性と性能のバランスが良い。
  • SHA-384(384bit, 96文字)— 内部は SHA-512 と同じで、出力を切り詰めたもの。SHA-512 より高速な場面がある。
  • SHA-512(512bit, 128文字)— 最も長いハッシュを出力。64bit CPU で高速に動作するため、大きなファイルの処理に向く。

ハッシュ関数について

ハッシュ関数は任意長のデータから固定長のハッシュ値を生成する一方向関数です。同じ入力からは常に同じハッシュ値が生成され、わずかな違いでも大きく異なる値になります。ファイルのダウンロード検証、改ざん検知、デジタル署名などに広く使われています。SHA-1 は現在は安全性の観点から非推奨で、新規用途には SHA-256 以上を推奨します。

MD5 について

MD5 は衝突攻撃が現実的になっており、セキュリティ用途では使われなくなってきました。本ツールでは Web Crypto API が対応していない MD5 は提供していません。ファイル整合性の簡易チェックに MD5 が必要な場合は、専用ツールのご利用をおすすめします。

よくある質問

ファイルサイズに上限はありますか?
ブラウザのメモリに読み込める範囲内(目安として数百MB以下)であれば処理可能です。1GB を超えるファイルは端末のメモリと性能に依存し、完了までに数十秒かかる場合があります。
入力データはどこかに送信されますか?
いいえ。計算はすべてブラウザ内の Web Crypto API で行われ、入力内容が外部に送信されることはありません。ネットワーク接続を切った状態でも動作します(初回ページ読み込み後)。
SHA-1 はなぜ非推奨ですか?
2017年に Google が SHA-1 の衝突を実証しており、悪意ある攻撃者が異なる内容で同じハッシュ値を作れてしまうため、セキュリティ用途では SHA-256 以上の使用が推奨されています。一方、整合性チェック用途(偶発的なデータ破損の検知)であれば SHA-1 でも十分です。
パスワードの保存に使えますか?
実運用でパスワードを保存する場合は、ソルト付きの bcrypt・scrypt・Argon2 など専用の鍵導出関数の使用が必要です。素の SHA-256 はパスワード保存には不十分で、レインボーテーブル攻撃や総当たり攻撃に弱いです。
同じ入力で毎回同じハッシュになりますか?
はい。ハッシュ関数は決定論的で、同じバイト列からは常に同じハッシュ値が生成されます。これを利用して、ファイルのバイト単位の一致を高速に検証できます。
改行コードの違いはハッシュに影響しますか?
はい。LF(Unix)と CRLF(Windows)ではバイト列が異なるため、ハッシュ値も異なります。テキストファイル同士を比較する際は改行コードを統一してから比較してください。
なぜMD5 は対応していないのですか?
Web Crypto API(ブラウザ標準のハッシュ実装)は MD5 をサポートしていません。これは MD5 の衝突耐性が既に破られており、新規用途では使うべきでないという判断が背景にあります。
空のテキストでもハッシュは出力されますか?
入力が空の場合は出力もクリアされます。空文字列自体にも定義上のハッシュ値(例: SHA-256 なら e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)はありますが、本ツールでは計算しません。