文字列ハッシュビジュアライザー

テキストを入力して、カラーブロックでMD5、SHA-1、SHA-256、SHA-512ハッシュを計算して視覚的に比較します。

仕組み

  1. テキストを入力: 文字列、パスワード、ファイル内容、識別子、ハッシュするテキストを入力または貼り付けます。
  2. アルゴリズムを選択: ニーズに応じてMD5、SHA-1、SHA-256、SHA-384、SHA-512を選択します。
  3. ハッシュをコピー: ハッシュ値が瞬時に表示されます。保存、比較、検証のためにコピーします。

なぜ文字列ハッシュジェネレーターを使うのか?

ハッシュは、任意の文字列をその内容に固有の固定長のフィンガープリントに変換します。1文字でも変更すると、完全に異なるハッシュが生成されます。これは、データ整合性の検証、パスワードの安全な保存、キャッシュキーの生成、レコードの重複排除、コンテンツベースの識別子の作成に不可欠です。ハッシュは一方向であるため、ハッシュから元のテキストを取得することはできません, 機密データを安全に保存できます。

機能

よくある質問

どのハッシュアルゴリズムを選択すべきですか?

機密の用途(パスワード、署名)には、SHA-256またはSHA-512を使用します。MD5とSHA-1はセキュリティのために非推奨ですが、暗号的強度が必要ないチェックサムとキャッシュキーには引き続き有用です。

保存するパスワードのハッシュにこのツールを使用できますか?

文字列ハッシュは一方向ハッシュを提供しますが、パスワードを保存するには、salt と反復を含む bcrypt、Argon2、PBKDF2 などの鍵導出関数を使用する必要があります。シンプルな SHA ハッシュは速すぎてレインボーテーブル攻撃に脆弱です。

ハッシュは可逆ですか?

いいえ。ハッシュ関数は一方向です, ハッシュから元の文字列を取得することはできません。2つの文字列が同じハッシュを生成する場合(衝突)、それはアルゴリズムの欠陥です。SHA-256とSHA-512には実用的な既知の衝突はありません。

ハッシュ関数の35年の歴史:MD5からBLAKE3まで

暗号学的ハッシュ関数は、長い破壊と置換のサイクルを経て進化しました。MD5は、Ronald RivestによってRFC 1321(1992年4月)でMD4の後継として公開されました。その128ビット出力は10年以上にわたって十分に強いと考えられていましたが、2004年にWangとYuが最初の実用的な衝突を発表しました。2008年までに、研究者たちはMD5の衝突を使って悪意のあるSSL認証局を偽造しました。SHA-1はNSAによって設計され、NISTによってFIPS 180-1(1995)で標準化されました。その160ビット出力は2017年2月まで持ちこたえ、GoogleとCWI AmsterdamがSHAttered攻撃を発表し、同じSHA-1ハッシュを持つ2つのPDFを生成しました。コスト:GPUで約6,500 CPU年相当。SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)もNSAから、FIPS 180-2(2002年8月)で公開されました。SHA-1と同じMerkle-Damgård構造を使用していますが、より大きな状態とより多くのラウンドがあります;今日、完全版に対する実用的な攻撃は存在しません。SHA-3(Keccak、Bertoniら)は公開コンペティションの後にNISTによって選択され、FIPS 202(2015年8月)で標準化されました。SHA-3は完全に異なるスポンジ構造を使用し、SHA-2に影響する長さ拡張攻撃に対して免疫があります。NISTファミリー以外では、BLAKE2(Aumassonら、2012)とBLAKE3(2020)が、MD5の速度でSHA-3クラスのセキュリティを提供します;BLAKE3は最新のラップトップで1 GBのファイルを約1秒でハッシュします。

選択するアルゴリズム:クイック決定表

ハッシュが実際に使用される場所

お金を失ったり物を壊したりするハッシュの間違い

その他のよくある質問

MD5とSHA-1がまだハッシュを生成するのに「破られている」のはなぜですか?

「破られた」とは、攻撃者がブルートフォースより速く衝突を生成できることを意味します。MD5の場合、今日のラップトップで同じハッシュを持つ2つの入力を見つけるのに数秒かかります。SHA-1の場合、2017年に6,500 CPU年かかり、それ以来劇的に減少しました。ハッシュは機械的にはまだ機能します;破られているのは、それらが「衝突耐性」であるというセキュリティ保証です。非敵対的使用(信頼するファイルを偶発的な破損に対してチェックサム)の場合、MD5はまだうまく機能します。敵対者を含むものはどちらも安全ではありません。

量子コンピュータがSHA-256を破ることを心配すべきですか?

思っているよりも少なく。Groverのアルゴリズムは256ビットハッシュに対するプリイメージ攻撃を2²⁵⁶から2¹²⁸の古典的等価作業に高速化しますが、それでも事実上不可能です。対称プリミティブ(ハッシュ、AES)は、キー/出力サイズを倍にすることで量子コンピューティングを生き残ります。公開鍵暗号(RSA、ECDSA)が量子攻撃で深刻に倒れるものであり、それゆえに2024年8月に公開されたNISTポスト量子標準(ML-KEM、ML-DSA、SLH-DSA)です。今日SHA-256を使用している場合、ポスト量子時代のSHA-512で十分以上でしょう。

ハッシュとHMACの違いは何ですか?

ハッシュ(SHA-256)はキーなし:入力を持つ誰でも同じ出力を計算できます。HMAC(ハッシュベースのメッセージ認証コード)は秘密鍵でハッシュをラップするため、鍵を知っている人だけがタグを計算または検証できます。RFC 2104(1997)で定義されたHMACは、メッセージを対称的に「署名」する標準的な方法です(送信者と受信者が秘密を共有)。webhookシグネチャ、JWT HS256、APIリクエスト署名にはHMAC-SHA256を使用してください。secret + messageでの単純なSHA-256は長さ拡張のために安全ではありません。

異なるライブラリが同じ文字列に対して異なるハッシュを与えるのはなぜですか?

3つの一般的な原因。第一に、文字エンコーディング:UTF-8 vs UTF-16 vs Latin-1は非ASCII文字列に対して異なるバイトを与え、したがって異なるハッシュ。常に明示的にエンコードしてください。第二に、行末:"hello\n""hello\r\n"は異なってハッシュ;Windows-vs-Unixファイルチェックサムはこの理由でしばしば異なります。第三に、出力フォーマット:小文字hex vs大文字hex vs base64は異なる値に見えますが、同じバイトを表します。比較する前に入力と出力のフォーマットを正規化してください。

ここでハッシュするときに私の入力はサーバーに送信されますか?

いいえ。4つのハッシュすべてが、組み込みのWeb Crypto API(crypto.subtle.digest)を使用してブラウザで計算されます。DevToolsでNetworkタブを開き、入力に入力すると、ゼロのアウトバウンドリクエストが表示されます。資格情報、トークン、またはデバイスを離れずにハッシュしたいプライベート値に対して安全。

関連ツール

無料ハッシュジェネレーター 無料JWTジェネレーター 無料UUIDジェネレーター 無料Base64エンコーダー&デコーダーオンライン