数据库的密码是根据填入的字符串 生成的32位MD5码。
现在要读取出来密码 并修改密码。
问题就是:怎么讲32位的MD5码还原成原来的String字符串。。
有会的吗 谢谢、、、
怪我咯2017-04-18 09:42:41
投稿者は初心者である可能性があり、解決したい最後の問題はパスワードの変更方法だと思います。この質問はパスワードを変更する際に生じる問題です。パスワードを変更するという考えが間違っているため、質問の方向がそれます。
しかし、上の方々の長い返信を拝見すると、初心者には分からない知識点を掴んだだけで、結果として投稿者さんも何を言っているのか理解できないのかもしれません。問題に対する解決策や解決策の可能性はまったく示されていません。
この問題の解決策は次のとおりです:
最初に 3 つの入力ボックスを設定します
最初の方法は、ユーザーに元のパスワードを入力させることです。
2 番目と 3 番目の入力ボックスは、ユーザーが新しいパスワードを入力し、新しいパスワードを確認できるようにするために使用されます。
送信後、MD5 暗号化などの以前の暗号化方法を使用したユーザーの元のパスワードと、データベースに保存されている暗号化されたパスワードを比較します。それらが同じであれば、元のパスワードが正しいことを意味します。ユーザーの身元が正当であると判断できます。 (なぜそうなるかというと、md5 は元に戻せないので、もう一度暗号化するだけです。比較してください。同じパスワードは同じように暗号化されるはずです。)
ユーザーの ID が正当である場合は、新しいパスワードが暗号化されて保存されていることがわかります。 N 行の検証コードはここでは省略されています。
阿神2017-04-18 09:42:41
わかりました MD5
全然違います 加密算法
わかりました。 。 。 。 MD5
は摘要算法
です。 。 。 そして 摘要算法
は理論的には 逆向解码
を必要としません。
巴扎黑2017-04-18 09:42:41
まず第一に、被験者が問題に遭遇した場合、まず検索することをお勧めします。
第 2 に、MD5 は不可逆暗号化アルゴリズムです。プロジェクトでパスワードを変更する必要がある場合、ユーザーが入力したパスワードは md5 で暗号化され、キーが照合されます。 MD5 を復元したいだけの場合は、インターネット上にオンライン復号化方法が多数ありますが、それらは比較的単純なパスワードしか復号化できません。
最後に、質問の作成者に提案します この質問を閉じることは本当に無意味です 、ありがとう
迷茫2017-04-18 09:42:41
なんてことだ~
この赤ちゃんは死ぬほど怖がっているよ~
本当はそうしたいのね解密
~
ユーザーは 旧密码
と 新密码
を取得します。
旧密码
md5 を暗号化します。
暗号化された 旧密码
をデータベースのパスワードと比較します。
同じ場合、新密码
md5 は暗号化されてデータベースに保存されます。
ダイジェスト アルゴリズムを元に戻すのはそれほど簡単ではありません。
もちろん、オンラインの md5 復号化ツールを使用することもできます。
黄舟2017-04-18 09:42:41
原理的には不可能です。md5 は一方向暗号化です。 検証中に、md5 値も比較され、それらが同じかどうかが確認されます。クラックしたい場合は、既製のレインボー テーブルからデータをダウンロードできますが、結果が 100% であるとは限りません。その場で md5 をヒットするには時間がかかります。
怪我咯2017-04-18 09:42:41
これは基本的に不可能です。インターネットでの復号化は偶然に依存します。運が良ければ、同じ md5 値と対応する文字列が見つかる可能性があります。また、md5 値は文字列と 1 対 1 に対応しません。多くの文字列の md5 値は同じです...
天蓬老师2017-04-18 09:42:41
質問者は、Baidu で検索して、MD5
が何であるかを知ることができます。これは不可逆的なアルゴリズムです。 Base64
などの可逆アルゴリズム。
怪我咯2017-04-18 09:42:41
MD5 は復元できません。 それ以外の場合は、ブルートフォースする必要はなく、直接復元するだけです。
ソルテッド PBKDF2 アルゴリズムを検索することをお勧めします。
大家讲道理2017-04-18 09:42:41
MD5 は、検証するたびにパスワードを 32 ビットに変換し、データベースに保存されている 32 ビットと比較する必要があるように設計されています。