[解決済み】MD5ハッシュを復号化することは可能ですか?
質問
ある人が、こんなソフトウェアシステムを見たことがあると言っていました。
- 他のシステムからMD5で暗号化されたパスワードを取得する。
- 暗号化されたパスワードを復号化し
- システム独自のアルゴリズムを用いて、システムのデータベースにパスワードを保存する。
それは可能ですか?MD5ハッシュの復号化は不可能/実現不可能だと思っていました。
MD5辞書があるのは知っていますが、実際に復号化するアルゴリズムはあるのでしょうか?
どのように解決するのですか?
いいえ、MD5は暗号化ではありません(一部の暗号化アルゴリズムの一部として使用されることはありますが)、それは一方通行です。 ハッシュ関数 . 元のデータの多くは、変換の一部として実際に失われます。
これを考えてみてください。MD5は常に128ビットの長さです。つまり、2つの 128 MD5ハッシュの可能性 これはそれなりに大きな数ですが、しかし間違いなく有限なのです。しかし、あるハッシュ関数への入力の可能性は無限にあります(しかも、そのほとんどは128ビット以上、つまりわずか16バイトのものです)。つまり、同じ値にハッシュされるデータの可能性は、実際には無限にあるのです。ハッシュを面白くするのは、同じ値にハッシュされる2つのデータを見つけるのが信じられないほど難しく、偶然にそうなる確率はほとんどゼロだということです。
ハッシュ関数の(非常に安全でない)簡単な例(これは一方通行であるという一般的な考えを示している)は、あるデータのすべてのビットを取り、それを大きな数として扱うというものである。次に、ある大きな(おそらく素)数を使って整数の除算を行う。 n を行い、余りを取る(参照。 微分積分 ). の間の何らかの数値が残ります。 n . もし、まったく同じ文字列を使って、もう一度(いつでも、どこでも、どんなコンピュータでも)同じ計算をしたら、同じ値が出ます。で割った余りを持つ数は無限にあるので、元の値が何であったかを知ることはできません。 n .
とはいえ、MD5にはいくつかの弱点があることが分かっており、複雑な数学を使えば、2を試さずに衝突を見つけることができるかもしれません。 128 を入力することができます。また、ほとんどのパスワードは短く、人々はしばしば共通の値 ("password" や "secret" など) を使用するという事実は、場合によっては、ハッシュをググるか、あるいは、ハッシュを使用して誰かのパスワードを適度に推測することができることを意味します。 レインボーテーブル . これが、常にquot.を使用すべき理由の1つです。 塩 ハッシュ化されたパスワードは、2つの同じ値がハッシュ化されたときに同じ値にならないようにするためです。
一度ハッシュ関数を通したデータは、もう元には戻れない。
関連
-
[解決済み] MurmurHash - それは何ですか?
-
[解決済み] トレントファイルの info_Hash とは一体何でしょうか?
-
[解決済み] JavaでMD5ハッシュを生成するにはどうすればよいですか?
-
[解決済み] node.jsのハッシュ文字列?
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み】MD5ハッシュを復号化することは可能ですか?
-
[解決済み】レインボーテーブル攻撃に対してパスワードソルトはどのように役立つのでしょうか?
-
[解決済み] 双方向の暗号化 検索可能なパスワードを保存したい
-
[解決済み] パスワードの暗号化:ベストプラクティス?[クローズド]。
-
[解決済み] MD5はファイルを一意に識別するのに十分な性能を持っていますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】弱い抵抗と強い抵抗の違いとは?
-
[解決済み] SHA-256 javascriptの実装で、一般に信頼できるとされるものはありますか?
-
[解決済み] トレントファイルの info_Hash とは一体何でしょうか?
-
[解決済み] MD5を逆引きして元の文字列を取得する方法とは?重複
-
[解決済み】MD5ハッシュを復号化することは可能ですか?
-
[解決済み】ハッシュとレンジの主キーとは?
-
[解決済み】SHAが衝突する可能性は、実際には無視しても大丈夫なのでしょうか?
-
[解決済み] パスワードの暗号化:ベストプラクティス?[クローズド]。
-
[解決済み] ReSharperのGetHashCodeのオーバーライドに'397'が使用されているのはなぜですか?
-
[解決済み] MD5はファイルを一意に識別するのに十分な性能を持っていますか?