ハッシュジェネレーター
任意のテキストの暗号ハッシュ(SHA-1、SHA-256、SHA-384、SHA-512)を生成します。ハッシング処理はWeb Crypto APIを使用してブラウザで実行されます。
ハッシュ
使い方
ハッシュ関数は一方向性の数学関数で、任意の入力(1文字、パスワード、または本全体など)を固定長の16進数文字列(ダイジェストと呼ばれる)に変換します。同じ入力を2回与えると毎回完全に同じダイジェストが得られますが、1文字でも変更するとすべての出力が完全に変わります。これは雪崩効果として知られています。このため、ハッシュはあらゆるサイズのデータの小さく、決定的なフィンガープリントとして役立ちます。 このツールは2つのハッシュ族から4つのアルゴリズムを計算します。SHA-1は160ビットのダイジェストを生成し、長年にわたって広く使用されてきましたが、研究者は実際の衝突攻撃を実証しているため、セキュアではなくなり、機密情報の保護に使用すべきではありません—ここに含まれているのは主にレガシーシステムとの互換性のためです。SHA-256、SHA-384、SHA-512は新しいSHA-2族に属し、より長いダイジェスト(それぞれ256、384、512ビット)を生成し、実用的な衝突攻撃は既知のものがないため、現在ではチェックサム、署名、整合性チェックのより安全な選択肢です。 ハッシング化は一方向のみです。ダイジェストから元のテキストを復元する数学的操作はありません。これはまさにポイントです—ハッシュはデータが変更されていないことを証明します。データそのものを公開することなく。これは暗号化とは異なります。暗号化は正しい鍵があれば逆転するように設計されています。 具体例として、単語helloをSHA-256でハッシング化すると、常に同じ64文字の16進数ダイジェスト2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824が生成されます。SHA-256のダイジェストは常に64文字の16進数であることに注意してください。1文字をハッシング化するか、小説全体をハッシング化するかにかかわらず—出力の長さはアルゴリズムによって固定されており、入力サイズによっては決してありません。 このツールを使用するには、テキストを入力ボックスに入力または貼り付けます。4つすべてのダイジェスト—SHA-1、SHA-256、SHA-384、SHA-512—は入力時に瞬時に更新され、Web Crypto APIを使用してブラウザ内でローカルに計算されます。入力内容はサーバーに送信されません。任意のダイジェストの横にあるコピーをクリックして、クリップボードにコピーします。 ハッシュは日常的なコンピューティングで絶えず表示されます。ダウンロードされたファイルまたはインストーラーが公開されたチェックサムと比較することで破損していないことを検証すること、フルコンテンツを比較せずに同一ファイルを重複排除すること、および文書が本物であることを証明するデジタル署名を支える場合。パスワードストレージは正直に言及する価値のある特別なケースです。本番システムはパスワードの平文SHA-256ハッシュを保存することはありません。攻撃者が一般的なパスワードのハッシュを事前計算できるためです。実際のシステムはランダムソルトを追加し、bcryptまたはArgon2などの遅い目的に特化したアルゴリズムを代わりに使用しています—平文のSHAハッシュは単独ではパスワードを保護するには速すぎて予測可能です。
よくある質問
- ハッシュとは何ですか?
- ハッシュは入力の固定長フィンガープリントです。同じテキストは常に同じハッシュを生成しますが、ハッシュから元のテキストに戻すことはできません。
- どのアルゴリズムを使うべきですか?
- SHA-256はチェックサムと整合性に良いデフォルトです。SHA-1はレガシー互換性のために含まれていますが、セキュリティについて衝突耐性があるとは見なされなくなりました。
- テキストはサーバーに送信されますか?
- いいえ。ハッシュはWeb Crypto APIを使用してローカルで計算されます—テキストはブラウザを離れることはありません。
- ハッシュ化は暗号化と同じですか?
- いいえ。暗号化は可逆的です—正しい鍵を使用すれば、暗号文は元のデータに復号化できます。ハッシング化は一方向です—ダイジェストから元のテキストに戻す鍵がありません。ハッシュは整合性を検証し、変更を検出するために使用されます。秘密情報を隠したり、後で回復したりするためではありません。それが暗号化の目的です。