ハッシュ生成

文字列のハッシュ値を計算するツール。チェックサムの照合、キャッシュキーやETagの確認、APIの署名検証のデバッグに使える。

ハッシュ生成

入力をUTF-8バイト列としてハッシュ化。

14文字
MD5
SHA-1
SHA-256
SHA-384
SHA-512

使い方

  1. ハッシュ化したい文字列を入力する。
  2. 各アルゴリズムのハッシュ値を確認し、必要なものをコピーする。

こんな用途に

  • 配布ファイルや設定値のチェックサムを照合したいとき。
  • キャッシュキーやETag、重複判定用のハッシュ値を確認したいとき。
  • API署名やWebhook検証のデバッグで、途中のハッシュ値を確かめたいとき。

仕組み

  • 入力をUTF-8バイト列に変換してからハッシュ化。
  • SHA系はWeb Crypto API、MD5はWeb Crypto APIが非対応のためRFC 1321に沿った実装で計算。

確認ポイント

  • ハッシュ値は改行の有無で変わる。シェルのechoは末尾に改行を付けるため、printfと結果が異なる。
  • MD5とSHA-1は衝突攻撃が知られており、改ざん検知や署名にはSHA-256以上を使う。
  • パスワードの保存には単純なハッシュではなく、bcryptやArgon2などの専用関数を使う。

手元でやるには

SHA-256

必要環境: shasum(macOS)、sha256sum(Linux)
printf '%s' 'hello' | shasum -a 256

MD5

必要環境: md5(macOS)、md5sum(Linux)
printf '%s' 'hello' | md5

よくある質問

ハッシュ値から元の文字列に戻せる?

戻せない。ハッシュは一方向の関数で、同じ入力から常に同じ値を得られるが、値から入力を逆算できない。

日本語のハッシュ値が他のツールと違う

入力をUTF-8バイト列としてハッシュ化している。Shift_JISなど別の文字コードで計算したツールとは値が異なる。

関連ツール