BTW TOOLS

BTW TOOLS

Web制作・開発の小さな手間を、ちょっと楽にするツールたち。

ハッシュ生成

テキストやファイルから SHA-1 / SHA-256 / SHA-384 / SHA-512 のハッシュ値を同時に生成。16進(大文字・小文字)と Base64 表示、期待値との照合に対応。ファイルは読み込むだけでアップロードしません。すべてブラウザ上で動作。

0 バイト(UTF-8)

表示形式

値を貼り付けると、一致する方式に「一致」バッジを表示します。

SHA-1 一致 互換用(署名・改ざん検知には非推奨)
SHA-256 一致 迷ったらこれ(最も広く使われています)
SHA-384 一致
SHA-512 一致
ヒント: ダウンロードしたファイルが壊れていないか確かめたいときは、「ファイル」タブでファイルを選び、配布元が公開しているチェックサムを照合欄に貼り付けてください。ファイルはブラウザ内で読み込むだけで、サーバーへは送信されません。
このツールを共有

使い方・詳細情報

このツールの使い方
  1. 「テキスト」タブにテキストを入力するか、「ファイル」タブでファイルを選びます
  2. SHA-1 / SHA-256 / SHA-384 / SHA-512 のハッシュ値が同時に表示されます
  3. 「表示形式」で 16進(小文字・大文字)と Base64 を切り替えられます
  4. 各行の「コピー」ボタンでクリップボードにコピーできます
  5. 配布元のチェックサムを照合欄に貼り付けると、一致した方式に「一致」バッジが付きます
ハッシュ値とは

ハッシュ値は、入力データから計算される固定長の値です。同じ入力からは必ず同じ値が得られ、1バイトでも違えばまったく別の値になります。この性質を利用して、ファイルが壊れていないか・改ざんされていないかの確認(チェックサム照合)、データの同一性の確認、キャッシュキーの生成などに使われます。

ハッシュ値から元のデータを復元することはできません(不可逆)。暗号化とは別のものです。

パスワードの保存には使わないでください。このツールが出力する生の SHA 値はソルトも計算コストも持たないため、保存データが漏えいした場合に総当たり・辞書攻撃で短時間に破られます。パスワードの保存には Argon2id・bcrypt・scrypt・PBKDF2 といったパスワード専用のアルゴリズム(KDF)を使ってください。

方式の選び方
方式長さ用途
SHA-25664桁(256ビット)迷ったらこれ。チェックサム照合・署名・一般的な用途で最も広く使われています
SHA-384 / SHA-51296桁 / 128桁より長い出力が必要な場合。64ビット環境では SHA-256 より高速なこともあります
SHA-140桁(160ビット)古いシステムとの互換目的のみ。衝突(異なるデータから同じ値を作ること)が現実的に可能なため、署名・改ざん検知には使わないでください
MD5 に対応していない理由

このツールはブラウザ標準の Web Crypto API(crypto.subtle.digest)でハッシュを計算しています。この API は SHA-1 / SHA-256 / SHA-384 / SHA-512 のみを提供しており、MD5 は含まれていません。安全でない方式として意図的に除外されているためです。

MD5 は衝突攻撃が確立しており、改ざん検知の用途には使えません。古い配布物のチェックサムが MD5 しかない場合は、可能であれば配布元に SHA-256 の提示を求めることをおすすめします。

照合欄の使い方
  • 16進表記・Base64 表記のどちらを貼り付けても照合します
  • 16進は大文字・小文字の違いを無視します。値の前後の空白、途中の空白・コロン(ab:cd:ef 形式)も無視します
  • ファイル名やコマンドの出力(abc123... filename.zip のような形式)を貼り付けた場合は、ハッシュ値の部分だけを取り出して照合します
  • どの方式とも一致しない場合は、その旨を表示します
仕様
  • すべてブラウザ上で動作します(入力したテキスト・選択したファイルはサーバーに送信されません)
  • テキストは UTF-8 でエンコードしてからハッシュ化します。8MB を超えるテキストは受け付けません(それ以上はファイルとして選んでください)
  • ファイルはブラウザのメモリに読み込んで計算するため、極端に大きなファイル(目安 512MB 超)は受け付けません
  • 計算にはブラウザ標準の Web Crypto API を使用します。この API は HTTPS 接続(セキュアコンテキスト)でのみ利用できます
  • ハッシュ値の表示は読み取り専用の入力欄で、HTML として解釈されることはありません
REQUEST · FEEDBACK

「こんなツールがあったら…」
気軽にリクエストしてください

実装可能なものから順次対応します。不具合の報告や改善のご意見もぜひ。