SHA ハッシュ ジェネレーター
テキストやファイルからSHA-1、SHA-256、SHA-512ハッシュをブラウザで即座に生成。Web Crypto APIを使用し、完全にプライベートかつ無料。
テキストやファイルからSHA-1、SHA-256、SHA-512ハッシュをブラウザで即座に生成。Web Crypto APIを使用し、完全にプライベートかつ無料。
SHA (Secure Hash Algorithm) は、NSA によって設計され、NIST によって標準化された暗号化ハッシュ関数のファミリーです。このファミリーには、SHA-1 (160 ビット、非推奨)、SHA-2 ファミリ (SHA-224、SHA-256、SHA-384、SHA-512)、および SHA-3 ファミリ (2015 年に受け入れられた別の設計) が含まれます。 SHA-256 は現在最も広く使用されているメンバーであり、TLS 証明書、ビットコインの作業証明、Git のコミット識別子、および最新の暗号化プロトコルに使用されています。
MD5 や SHA-1 とは異なり、SHA-256 には実用的な衝突攻撃は知られていません。これは、当面は暗号的に安全であると考えられており、新しい暗号設計のデフォルトのハッシュ関数です。 SHA-384 と SHA-512 は、同様のセキュリティ特性を備えた、より広範なダイジェストの恩恵を受けるアプリケーション向けに、より大きな出力を提供します。
このジェネレーターは、ブラウザーに組み込まれている SubtleCrypto API を使用してブラウザー内で完全に実行されます。この実装は、ブラウザの暗号化モジュールがこれらのプロパティをサポートしている場合、定数時間およびサイドチャネル耐性があります。入力も出力もサーバーに送信されません。
SHA ハッシュは、暗号化の整合性の標準です。ファイルが公開されたハッシュと一致することを確認することで、送信エラーや改ざんを防ぐことができます。コンテンツの SHA-256 を作成すると、他の人はコンテンツが作成したものとまったく同じであることを確認できます。改ざんが検出可能になります。
最新のシステムでは、TLS 証明書のフィンガープリント、JWT 署名 (HMAC-SHA256 を使用)、API リクエストの署名 (AWS、GitHub)、Git コミット識別子、IPFS コンテンツ アドレス、ビットコイン ブロック ハッシュなど、SHA-256 を幅広く使用しています。これらのいずれかを使用するには、SHA-256 を確実に計算できる必要があります。
入力を貼り付け、バリアントを選択し、ハッシュを取得します。
SHA-256 は 512 ビット ブロックで入力を処理します。構造は MD5 に似ていますが、より強力なラウンド関数とより大きな出力を備えています。各ブロックは、64 ラウンドの加算、回転、ビット単位の演算を通じて 256 ビットの内部状態を更新します。最終的な状態はダイジェストです。
SHA-512 は 1024 ビットのブロックを処理し、80 ラウンドを通じて 512 ビットの状態を維持します。 SHA-384 は、SHA-512 を異なる初期状態値で 384 ビットに切り詰めたものであり、単純な切り詰めとは暗号的に区別されます。
ブラウザ SubtleCrypto.digest は、すべての SHA-2 バリアントをネイティブに実装し、通常は最新の CPU 上でハードウェア アクセラレーションによる実装 (Intel SHA Extensions、ARMv8 SHA 命令) を使用します。ハードウェア サポートを利用するブラウザでは、速度は MD5 に匹敵します。