3

データベース内のユーザーのパスワードを暗号化するために md5 を使用しています。パスワードを忘れた場合は、メールを送信してパスワードを取り戻してもらいたいです。問題は、それを元に戻すための PHP コードの書き方がわからないことです。

任意の回答、または適切なリンクをいただければ幸いです。ありがとう..

4

5 に答える 5

11

これはできません1

MD5 はハッシュ関数であり、暗号化関数ではありません。これは一方向のプロセスであり、元に戻すことはできません。

1実際、ハッシュ化すると同じMD5 値になるようなパスワード (入力)は多数ありますが、 1 つだけを見つけるのは「難しく」 、のパスワードを見つけることは [一般に] 不可能です。これがパスワードの「クラッキング」です。ハッシュ化されたときに特定の出力が得られるような入力を 1 つ見つけます。(そして、私はこの道をこれ以上助けません。)

于 2012-04-06T09:02:46.237 に答える
2

MD5 はハッシュ関数です。ハッシュ化されたパスワードを回復しようとしないでください。一般的な方法は、ハッシュ化されたパスワードを消去し、電子メールのリンクから新しいパスワードを設定するよう強制することです. ハッシュ化されたパスワードを渡し、それを逆ハッシュしようとすると、重大なセキュリティ ホールになります。

于 2012-04-06T09:07:13.000 に答える
0

レインボー テーブルはあなたにとって興味深いものかもしれません。
ハッシュから元のパスワードを復元することはできませんが、レインボー テーブルを使用すると、必要に応じて同じハッシュを生成する文字列を見つけることができる場合があります。

于 2012-04-06T09:05:42.590 に答える