Stax
Tools

ハッシュ生成

SHA-1、SHA-256、SHA-384、SHA-512ハッシュを瞬時に生成。

ハッシュジェネレーターとは?

SHA-256 vs SHA-512

ハッシュの実際の使われ方

ハッシュジェネレーターは暗号ハッシュ関数を入力に適用し、固定長の16進数文字列(ハッシュ)を生成します。同じ入力は常に同じ出力を生みます。1文字変えるだけでハッシュは完全に変わります。これによりデータの整合性検証とパスワードの安全な保存にハッシュが理想的です。

SHA-256は256ビット(64文字の16進数)のハッシュを生成します。SHA-512は512ビット(128文字の16進数)を生成します。どちらも安全です。SHA-256はより広く使用されており、32ビットシステムでわずかに高速です。SHA-512はセキュリティマージンが大きく、64ビットシステムで高速です。

セキュリティエンジニアはダウンロードしたソフトウェアパッケージのSHA-256ハッシュをベンダーが公開したチェックサムと比較して整合性を確認します。改ざんがあればハッシュは完全に変わります。DevOpsチームはビルドステージ間のファイル変更を検出するためCI/CDパイプラインにハッシュチェックを含めます。バックエンド開発者はHTTPキャッシュヘッダーのETagとしてSHA-256ハッシュを生成します。GitやIPFS、DockerレイヤーストレージなどのコンテンツアドレサブルストレージシステムはSHA-256ハッシュをコンテンツ識別子として使用します。

このツールはcrypto.subtle.digest()を使用します。これはすべての最新ブラウザ(Chrome・Firefox・Safari・Edge)で利用可能なブラウザのネイティブWeb Crypto APIです。この関数は非同期で、UTF-8エンコードされた入力のArrayBufferを操作します。出力はバイト配列で、表示のために16進数文字列に変換されます。Web Crypto APIはブラウザに組み込まれているため、外部ライブラリは不要でデータがデバイスを離れることはありません。

SHA-1は2017年に実用的な衝突攻撃が実証された後、デジタル署名と証明書に対して非推奨となりました。ただし、衝突耐性が不要な非セキュリティ用途では引き続き使用されています。GitはオブジェクトIDにSHA-1を使用しており(新バージョンではSHA-256に移行中)、一部のレガシーチェックサムシステムでも使用されています。パスワードハッシュ・デジタル署名・証明書生成にはSHA-1を絶対に使用しないでください。すべての新しいセキュリティ用途にはSHA-256以上を使用してください。

  • ファイルの整合性:ファイルをダウンロードし、そのSHA-256ハッシュがベンダーが公開したものと一致するか確認します。
  • パスワードの保存:プレーンテキストのパスワードは保存しないでください。ハッシュ(ソルト付き)を保存します。bcryptやArgon2はRAW SHA よりもこの用途に適していますが、SHA-256がその基盤となるプリミティブです。
  • API認証:HMAC-SHA256はAWS・Stripe・ほとんどの現代的なAPIでAPIリクエストの署名に使用されます。

よくある質問

What is a cryptographic hash?
A hash function takes any input and produces a fixed-length string (the hash or digest). The same input always produces the same hash. Even a single character change produces a completely different hash. Hashes are one-way — you can't reverse a hash to get the original input.
Which algorithm should I use?
SHA-256 for most purposes — it's the current standard used in TLS, code signing, and password storage. SHA-512 offers more security at slightly more cost. SHA-1 is broken for security purposes (don't use for signatures or certificates) but still used for checksums and Git object IDs.
Is my data sent to a server?
No. This tool uses the browser's built-in Web Crypto API (crypto.subtle.digest). Your text is hashed locally and never leaves your device.
What is a hash used for?
Verifying file integrity (checksums), storing passwords securely (with a salt), digital signatures, data deduplication, and generating unique identifiers. SHA-256 is what Bitcoin uses to secure its blockchain.
Why no MD5?
MD5 is cryptographically broken — collisions (two different inputs producing the same hash) can be generated in seconds. We only include secure algorithms. If you need to verify an MD5 checksum from a third-party source, any terminal has md5sum built in.

関連ツール