ハッシュジェネレーター MD5、SHA-1、SHA-256などに対応
任意の文字列を入力または貼り付けると、値をサーバーに送信することなく、ブラウザで6種類の人気ハッシュを即座に生成します。
入力
入力中にハッシュが更新されます。空白と改行は入力通りに含まれます。
SHA-1
SHA-224
SHA-256
SHA-384
SHA-512
アルゴリズム比較
6つのアルゴリズムはすべてブラウザ内で実行されます。違いを理解することで、用途に合った適切なものを選べます。
ハッシュ関数の仕組み
ハッシュ関数は、1文字でもファイル全体でも任意の入力を受け取り、ダイジェストと呼ばれる固定長の文字列を生成します。同じ入力を2回与えると常にまったく同じ出力が得られます。1バイトでも変更するとダイジェストは完全に変わります。これをアバランシェ効果といいます。
ハッシュ化は一方向の操作です。ダイジェストから元の入力を復元する数学的な逆関数は存在しません。この特性により、ファイル自体を保存せずにファイルの整合性を検証したり、平文を保存せずにパスワードの一致を確認したりするのにハッシュが役立ちます。
衝突耐性こそが現代のアルゴリズムと非推奨のアルゴリズムを分けるものです。衝突とは、2つの異なる入力が同じダイジェストを生成することです。MD5とSHA-1は意図的な衝突攻撃に対して脆弱であるため、セキュリティが重要なタスクには信頼されなくなっています。SHA-256以上には既知の実用的な衝突はありません。
適切なアルゴリズムの選び方
- MD5 レガシーツールが必要とする非セキュリティ用チェックサムにのみ使用してください。パスワードや署名には絶対に使用しないでください。
- SHA-1 新規プロジェクトでは使用しないでください。まだ移行していないシステムとの相互運用時にのみ許容されます。
- SHA-256 ほとんどの用途で安全なデフォルト選択です。ファイル検証、APIリクエスト署名、HMACキーに適しています。
- SHA-512 パスワードハッシュパイプラインを構築する場合や、より大きなダイジェストが必要な場合に推奨されます。
- SHA-384 ブラウザのサブリソース整合性(SRI)属性およびTLS 1.3互換の暗号ネゴシエーションに使用してください。
- SHA-224 ダイジェストサイズに厳しい制限がある制約されたデバイスやプロトコルでのニッチな用途。
よくある質問
ハッシュ関数と安全な使い方に関するよくある質問です。
いいえ。ハッシュ関数は設計上一方向です。ダイジェストから元の文字列を復元する数学的な逆関数は存在しません。ハッシュを「解読」しているように見える攻撃は、実際には辞書検索やブルートフォース探索であり、元のテキスト自体ではなく同じハッシュを生成する入力を見つけるものです。
どちらも直接は使用しないでください。MD5とSHA-256は高速に設計された汎用ハッシュ関数であるため、パスワードに使用するとブルートフォース攻撃が容易になります。パスワードにはbcrypt、scrypt、Argon2などの専用の低速ハッシュ関数を使用してください。これらは意図的な計算コストとパスワードごとのソルトを追加し、大規模なクラッキングを非現実的にします。
いいえ。すべてのハッシュ処理はCryptoJSライブラリを使用してブラウザ内で完結します。テキストがデバイスの外に出ることはなく、サーバーはページのアセットを提供するだけです。そのため、APIキーや検証が必要な設定値などの機密文字列のハッシュ化にも安全に使用できます。
衝突とは、2つの異なる入力が同じハッシュダイジェストを生成することです。ハッシュの出力は固定長である一方、入力は無限であるため、理論的に衝突は避けられませんが、安全なアルゴリズムでは衝突を意図的に見つけることは計算上不可能です。MD5とSHA-1には既知の実用的な衝突攻撃があり、攻撃者が正規のダイジェストと一致するファイルや証明書を偽造できます。SHA-256以上には既知の実用的な衝突はありません。
その他のプライバシーツール
プライベートなデータを安全に共有するために必要なすべてが揃っています - 無料、アカウント不要、ブラウザで動作します。
SecretNote
プライベートなメモを書き、ワンタイムリンクを生成して共有できます。メモは読まれた瞬間に自己消滅し、何も保存されず、情報が漏れることもありません。
SecretScreen
スクリーンショットをアップロードして、自己消滅する共有リンクを取得できます。画像はアップロード前に暗号化され、最初の閲覧後に削除されます - 永続的なホスティングはありません。
SecretFile
任意のファイルをアップロードして、ワンタイムダウンロードリンクを共有できます。ファイルはエンドツーエンドで暗号化され、受信者がダウンロードした後に完全に削除されます。
ハッシュジェネレーター
ブラウザ上でMD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512のハッシュを即座に生成できます。入力内容がサーバーに送信されることはありません。
パスワードジェネレーター
長さと文字セットを完全にコントロールして、強力なランダムパスワードを生成できます。すべてローカルで実行されるため、パスワードがサーバーに送信されることはありません。