ハッシュ生成
文字列のハッシュ値を計算するツール。チェックサムの照合、キャッシュキーやETagの確認、APIの署名検証のデバッグに使える。
ハッシュ生成
入力をUTF-8バイト列としてハッシュ化。
14文字
| MD5 | | |
|---|---|---|
| SHA-1 | | |
| SHA-256 | | |
| SHA-384 | | |
| SHA-512 | |
使い方
- ハッシュ化したい文字列を入力する。
- 各アルゴリズムのハッシュ値を確認し、必要なものをコピーする。
こんな用途に
- 配布ファイルや設定値のチェックサムを照合したいとき。
- キャッシュキーや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 256MD5
必要環境: md5(macOS)、md5sum(Linux)printf '%s' 'hello' | md5よくある質問
ハッシュ値から元の文字列に戻せる?
戻せない。ハッシュは一方向の関数で、同じ入力から常に同じ値を得られるが、値から入力を逆算できない。
日本語のハッシュ値が他のツールと違う
入力をUTF-8バイト列としてハッシュ化している。Shift_JISなど別の文字コードで計算したツールとは値が異なる。