SHAハッシュ値生成ツール(SHA1/SHA256/SHA512)
セキュリティツールSHA1・SHA256・SHA384・SHA512のハッシュ値をオンラインで即座に生成。HMAC対応。ブラウザ上で完結するため安全に利用できるオンラインツールです。
ブラウザ上でハッシュ値の生成を行うため、入力データがサーバーに送信されることはありません。安心してご利用ください。
ハッシュ関数について
アルゴリズム比較
SHA系アルゴリズムは出力長・安全性・パフォーマンスが異なります。用途に合ったアルゴリズムを選択してください。
| アルゴリズム | 出力長 | 安全性 |
|---|---|---|
| SHA-1 | 160ビット(16進数40文字) | 非推奨 |
| SHA-256 | 256ビット(16進数64文字) | 安全 |
| SHA-384 | 384ビット(16進数96文字) | 安全 |
| SHA-512 | 512ビット(16進数128文字) | 安全 |
主な利用シーン
ハッシュ関数はセキュリティとデータ整合性の基盤技術です。
- パスワード保存 — パスワードをハッシュ化して保存し、平文を保持しないことで安全な認証を実現します。
- ファイル整合性チェック — ダウンロードしたファイルが破損・改ざんされていないことをチェックサム比較で確認します。
- デジタル署名 — メッセージをハッシュ化してから署名することで、真正性と完全性を保証します。
- データ重複排除 — ハッシュ値を使って重複データブロックを特定し、ストレージを効率化します。
HMACとは?
HMAC(Hash-based Message Authentication Code)はハッシュ関数と秘密鍵を組み合わせて、データの完全性と真正性を同時に検証する仕組みです。単純なハッシュと異なり、秘密鍵を持つ送信者からのメッセージであることを保証します。API認証、JWTトークン、セキュア通信プロトコルなどで広く使われています。
用語集
- SHA(Secure Hash Algorithm)
- Secure Hash Algorithm(セキュアハッシュアルゴリズム)略称SHAは暗号ハッシュ関数とも呼ばれ、アメリカ国立標準技術研究所(NIST)によって標準のハッシュ関数Secure Hash Standardに指定されています。SHAは任意の大きなデータブロックを固定サイズの出力(通常は入力よりもはるかに短い出力)に変換します。
- 警告
- SHA-1 は現在脆弱であると見なされているため、暗号化アプリケーションには使用しないでください。
- ハッシュ衝突
- ハッシュ衝突とは、異なる2つの入力が同じハッシュ出力を生成してしまう現象です。SHA-256などのモダンなアルゴリズムでは衝突が起こる確率は約2^128分の1と、極めて低く設計されています。
- ソルト
- ソルトとは、ハッシュ化の前に入力に付加されるランダムなデータです。事前計算テーブル(レインボーテーブル)を使った攻撃を防ぎます。パスワードごとに固有のソルトを使用することが推奨されます。
- HMAC(Hash-based Message Authentication Code)
- HMACはハッシュ関数と秘密鍵を組み合わせてメッセージ認証コードを計算する仕組みです。データの完全性と認証の両方を提供し、メッセージが改ざんされておらず、鍵を持つ送信者からのものであることを保証します。
よくある質問
- Q: SHA-256とSHA-512の違いは?
- A: SHA-256は256ビット、SHA-512は512ビットのハッシュを生成します。SHA-512はより強固なセキュリティを提供しますが、ほとんどの用途ではSHA-256で十分です。64ビットシステムではSHA-512の方がSHA-256より高速に動作することもあります。
- Q: このツールを使ってデータは安全ですか?
- A: はい。ハッシュ生成はすべてブラウザ上のWeb Crypto APIで処理されます。データがサーバーに送信されることは一切ありません。
- Q: ハッシュから元のテキストを復元できますか?
- A: いいえ。ハッシュ関数は一方向性のため、ハッシュ値から元の入力を逆算することは計算上不可能です。これがパスワード保存に適している理由です。