数据库的密码是根据填入的字符串 生成的32位MD5码。
现在要读取出来密码 并修改密码。
问题就是:怎么讲32位的MD5码还原成原来的String字符串。。
有会的吗 谢谢、、、
怪我咯2017-04-18 09:42:41
我覺得樓主可能是初學者,樓主最後想解決的問題應該是如何修改密碼。這個問題只是修改密碼中出現的一個問題,由於修改密碼想法就錯了,所以才導致提問偏離方向。
然而看到樓上人大段大段的回复,只是抓住了一個初學者不懂的知識點說了一番,結果可能是樓主更加聽不懂你們在說啥。根本沒有給出解決方案或可能解決問題的方案。
解決這個問題的方案是:
你先設定3個input框
然後第一個是讓使用者輸入原始密碼。
第二個和第三個輸入框用來讓使用者輸入新密碼和確認新密碼。
提交後,把使用者原始密碼,使用之前加密方式例如你的md5加密,和資料庫儲存的加密密碼對比,如果一樣,就說明,原始密碼正確。可以確定使用者身分合法。 (至於為什麼要這樣,因為md5不可逆,所以,我們就直接再加密一次,和你對比下,一樣的密碼,加密出來的總該一樣吧。)
如果使用者身分合法,下面你應該懂得,新密碼加密保存起來。這裡省略N多行校驗程式碼。
巴扎黑2017-04-18 09:42:41
首先,建議題主遇到問題麻煩先去進行搜尋。
其次MD5是一種不可逆的加密演算法,如果是專案需要改密碼,都是進行對使用者輸入密碼進行md5加密後進行配對金鑰的。如果只是想將MD5還原,網路上有許多線上的解密,但只能解出相對簡單的密碼。
最後,建議題主關閉此題,真心無意義,謝謝
迷茫2017-04-18 09:42:41
天啊嚕~
嚇死寶寶了~
你居然想解密
~
用戶那獲得旧密码
和新密码
。
把旧密码
md5 加密。
把加密過的旧密码
和資料庫的密碼進行比較。
如果一樣,則把新密码
md5加密後存入資料庫。
摘要演算法不是這麼好逆向的,
當然你可以使用網路上的md5解密的工具。
黄舟2017-04-18 09:42:41
原理上來說是不可以的, md5是單向加密。 驗證的時候也是比較md5值是否相同。破解的話可以去下現成的彩虹表的數據, 但不是保證百分百出結果的, 當場撞md5要很久。