ハッシュ生成(SHA)
テキストからSHA-1/256/384/512のハッシュ値をリアルタイム生成。改ざん確認や整合性チェックに。ブラウザ完結。
文字列を入力するとハッシュ値が表示されます。
MD5はブラウザ標準に含まれないため未対応です。改ざん検知・整合性確認にはSHA-256以上を推奨します。処理はブラウザ内で完結します。
このツールの使い方
- ハッシュ化したい文字列を入力する(入力と同時に計算されます)
- 必要な方式(SHA-256 など)を選ぶ。複数選択も可能
- 表示されたハッシュ値をコピーする
ハッシュとは — 一方向の「指紋」
ハッシュ関数は、任意の長さのデータを固定長の値に変換する一方向の関数です。同じ入力からは必ず同じ値が出る一方、ハッシュ値から元のデータを復元することはできません。また入力が1文字でも変わると結果は全く別物になります(雪崩効果)。 この性質から、データの「指紋」として改ざん検知や整合性確認に使われます。
SHA-256("hello") = 2cf24dba5fb0a30e...
SHA-256("Hello") = 185f8db32271fe25... ← 先頭1文字違うだけで全く別の値
SHA-256("Hello") = 185f8db32271fe25... ← 先頭1文字違うだけで全く別の値
SHA方式の違いと選び方
| 方式 | 出力長 | 安全性・用途 |
|---|---|---|
| SHA-1 | 160ビット(40桁) | 衝突が実証済み。新規の改ざん検知には非推奨 |
| SHA-256 | 256ビット(64桁) | 現在の標準。証明書・チェックサム・署名に広く利用 |
| SHA-384 | 384ビット(96桁) | SHA-512の切り詰め版。より高い安全余裕 |
| SHA-512 | 512ビット(128桁) | 64bit環境で高速。長期保管や高強度用途 |
迷ったら SHA-256 を選べば大きく外しません。MD5・SHA-1はいずれも衝突攻撃が成立しているため、セキュリティ用途では避けてください。
⚠️ パスワード保存にSHAを「そのまま」使わない
よくある誤りが、パスワードをSHA-256でハッシュ化してDBに保存することです。SHAは高速すぎるため、 流出時に総当たり・辞書攻撃で短時間に破られます。パスワードの保存には、意図的に低速で塩(ソルト)を組み込む専用アルゴリズムを使ってください。
- ・推奨:bcrypt / scrypt / Argon2(ストレッチングとソルトを内包)
- ・SHAが向くのは「改ざん検知・整合性確認・署名の一部」など、速度が利点になる用途
よくある用途
- ・配布ファイルのSHA-256チェックサムと照合し、ダウンロードの破損・改ざんを確認する
- ・2つのデータが完全一致するかをハッシュで素早く比較する
- ・APIリクエストの署名(HMAC)やキャッシュキーの生成ロジックを手元で検証する
- ・Gitのコミットハッシュのように、内容から一意なIDを導出する
コマンドでの確認例
| macOS / Linux | shasum -a 256 file.zip |
| Linux | sha256sum file.zip |
| Windows | certutil -hashfile file.zip SHA256 |
| JavaScript | crypto.subtle.digest('SHA-256', data) |
関連ツール
広告