ハッシュ生成ツール

テキストまたはファイルから、MD5・SHA-1・SHA-256・SHA-384・SHA-512のハッシュ値(チェックサム)をまとめて計算します。処理はすべてブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。

このツールを共有

ハッシュ生成の使い方

  1. 入力方法を選ぶ

    「テキスト」か「ファイル」のどちらかを選びます。ファイルはPCから選択すると、選んだ時点で自動的に計算が始まります。

  2. 内容を入力する

    テキストなら入力欄に貼り付け、ファイルなら「ファイル選択」から対象を選びます。入力と同時にMD5・SHA-1・SHA-256・SHA-384・SHA-512の5種類が計算されます。

  3. 結果を比較・コピーする

    配布元が公開しているハッシュ値と見比べて一致するか確認します。各行の「コピー」で値だけをクリップボードへコピーできます。

仕組みと考え方

ハッシュ関数は、任意の長さのデータから固定長の値(ダイジェスト)を作る一方向の計算です。元データが1ビットでも変わればハッシュ値は大きく変化するため、ダウンロードしたファイルが壊れていないか、改ざんされていないかを確認する用途(チェックサム検証)で広く使われます。SHA-1・SHA-256・SHA-384・SHA-512はブラウザ標準のWeb Crypto API(crypto.subtle.digest)でその場で計算し、入力はブラウザ内で処理されるためサーバーへは送信されません。

MD5だけはWeb Cryptoに実装が無いため、本ツールはRFC 1321の仕様に基づくアルゴリズムをJavaScriptで自前実装しています。既知のテストベクタ(空文字列やabc等)で計算結果を確認したうえで公開していますが、ブラウザ実装のためNode.jsやOpenSSLの実装と比べて処理速度は劣ります。

MD5とSHA-1は衝突(異なる入力から同じハッシュ値が作られること)が実証されており、パスワードの保存や署名など安全性が求められる用途には適しません。現在も使われているのは主に、ファイルの破損検知や重複ファイルの検出など、悪意ある攻撃者を想定しない場面です。安全性が必要な照合にはSHA-256以上を使ってください。

使いどころ・注意点

  • 配布サイトが公開する「SHA256: xxxx」等の値と、ダウンロード後に計算した値を比較してファイルの破損・改ざんの有無を確認する。
  • パスワードや個人情報のハッシュ化にMD5・SHA-1を使わない。安全性が必要な場面ではSHA-256以上、できれば専用のパスワードハッシュ関数(bcrypt等)を使う。
  • 大きなファイルは計算に時間がかかることがある。「計算中です」の表示が出ている間はページを閉じずに待つ。
  • 同じファイルでも改行コードや文字コードが違うテキストファイルは中身のバイト列が変わるため、ハッシュ値も変わる。

よくある質問

入力したテキストやファイルは保存・送信されますか?

いいえ。計算はブラウザ内のJavaScriptだけで行い、当サイトのサーバーへは送信していません。ページを閉じると結果は残りません。

MD5とSHA-256はどちらを使えばよいですか?

ファイルの破損確認などの一般的な用途ではどちらでも目的を果たせますが、配布元がSHA-256を公開している場合はそちらを優先してください。安全性が必要な照合にはMD5・SHA-1を避け、SHA-256以上を使うことを推奨します。

同じファイルなのにハッシュ値が違います。

ファイルの中身が1バイトでも異なると全く違うハッシュ値になります。ダウンロードが途中で失敗している、改行コード(LF/CRLF)が変換されている、文字コードが違う、のいずれかが多い原因です。

大きなファイルを計算すると固まったようになります。

特にMD5はJavaScriptによる自前実装のため、大きなファイルでは計算に数秒〜十数秒かかることがあります。200MBを超えるファイルは対象外としています。

ハッシュ値から元のテキストやファイルを復元できますか?

できません。ハッシュ関数は一方向の計算で、ダイジェストから元データを逆算することは設計上できません(総当たりで同じ値を作る入力を探すことは可能な場合があります)。

ほかの無料ツールも見る

文字数カウント

文字数(空白含む/除く)・バイト数・行数・単語数・原稿用紙の枚数・段落数・文の数・読了時間・文字種別の内訳を入力と同時に集計します。

文字列変換

大文字↔小文字、全角↔半角、ひらがな↔カタカナ、HTMLエスケープ、改行コード変換をまとめて行います。

テキスト差分(diff)

2つの文章を並べて比較し、追加・削除された行と文字を色分けして表示します。

重複削除・並べ替え

行単位の重複行の削除、五十音・英数字順の並べ替え、空行削除、行番号の付与を行います。

Markdownプレビュー

Markdown記法をその場でプレビューし、見出し・表・コードブロックの見え方を確認できます。

くじ引き・抽選

名前や景品を1行に1件ずつ貼り付けるだけで、暗号学的に安全な乱数で当選者を重複なく選びます。

JSON整形・検証

JSONの整形(インデント付与)・圧縮・構文エラー箇所の特定を行います。値が変わる箇所も警告します。

CSV⇔JSON変換

CSV・TSVをJSON配列へ、JSON配列をCSVへ相互変換します。引用符や改行を含むセルにも対応します。

Base64エンコード・デコード

日本語を含むテキストのBase64変換と復元を行います。URLセーフ形式やデータURIにも対応します。

URLエンコード・デコード

URLのパーセントエンコードと復元を行い、クエリパラメータを一覧で分解して確認できます。

正規表現テスト

正規表現のマッチ結果をハイライト表示し、キャプチャグループや置換結果をその場で確認できます。

ダミーデータ生成

氏名・住所・メールアドレス・電話番号などの架空のテストデータをCSV/JSONで一括生成します。

パスワード生成

文字種・文字数を指定して、暗号学的に安全な乱数で強力なパスワードを生成します。

JWTデコード

JWT(JSON Web Token)のヘッダー・ペイロードを復号して表示し、有効期限の切れを判定します。

セキュリティヘッダー簡易チェック

公開WebサイトのURLを指定し、代表的なセキュリティヘッダーの設定有無を確認します。

QRコード生成

URL・Wi-Fi・連絡先・メール・SMSのQRコードをその場で作成し、PNG/SVGでダウンロードできます。誤り訂正レベルと配色も選べます。

画像リサイズ・圧縮

画像の縦横サイズ変更・圧縮・形式変換(JPEG/PNG/WebP)をブラウザ内だけで行います。

カラーコード変換

HEX・RGB・HSLを相互変換し、背景色と文字色のコントラスト比(WCAG判定)も確認できます。

Unix時間変換

Unixタイムスタンプと日時を相互変換します。秒・ミリ秒、日本時間・UTCの両方に対応します。

UUID生成

UUID v4(完全ランダム)とUUID v7(時刻順)を、暗号学的に安全な乱数でまとめて生成します。