web-dev-qa-db-ja.com

このサイトはSHA256ハッシュをどのように復号化しますか?

(今のところ)sha256を解読することは不可能だと思いました。しかし、ハッシュを解読できるウェブサイトを見ました。それは、既知のハッシュをデータベースに保存するのか、それともハッシュを実際に復号化するのか?これが画像です: Website decrypts SHA256 and SHA1 Hash?

2
K.NaN

正解です。ハッシュ関数SHA256SHA384SHA512は(現在のところ)壊れていないため、簡単に元に戻すことはできません。 MD5SHA1は、同じハッシュ値を生成する文字列のペアを見つけたが、これらでも数週間または数か月の計算を必要とするため、壊れていると見なされます。

(注:暗号化に使用するWordであるため、サイトが「復号化」を使用するのは好ましくありません。ハッシュを「復号化」することはできません)

彼らがしていることはおそらく 辞書攻撃 で、すべての一般的な辞書単語のハッシュを事前に計算しています。これにより、ハッシュを受け取り、それを生成するWordを返すルックアップテーブルが提供されます。

スケールの考え方を示すために、171,476の英語の単語があり、SHA256ハッシュは32バイトかかるため、すべての英語の単語のSHA256ハッシュを格納すると、約5 MBしかかかりません。

6
Mike Ounsworth

ハッシュはクラックされず、事前に計算されて Rainbow table に入れられました。

ハッシュは、暗号化された値のように比較され、解読されないように設計された一方向の暗号関数です。

したがって、このWebサイトが行ったことは、一連の文字列を取得し、さまざまなアルゴリズムを使用してそれらをハッシュし、ハッシュの値を保存することです。これにより、ハッシュを入力すると、そのハッシュが既に格納されている値と比較され、一見「逆」のように見えます。これが、ハッシュ中に salt を使用することが非常に重要である理由です。

5
DKNUCKLES