java - 32位的MD5的加密码 怎么还原成原来的String字符串
PHP中文网
PHP中文网 2017-04-18 09:40:41
0
11
1614

数据库的密码是根据填入的字符串 生成的32位MD5码。
现在要读取出来密码 并修改密码。

问题就是:怎么讲32位的MD5码还原成原来的String字符串。。

有会的吗 谢谢、、、

PHP中文网
PHP中文网

认证0级讲师

全部回覆(11)
刘奇

我覺得樓主可能是初學者,樓主最後想解決的問題應該是如何修改密碼。這個問題只是修改密碼中出現的一個問題,由於修改密碼想法就錯了,所以才導致提問偏離方向。

然而看到樓上人大段大段的回复,只是抓住了一個初學者不懂的知識點說了一番,結果可能是樓主更加聽不懂你們在說啥。根本沒有給出解決方案或可能解決問題的方案。

解決這個問題的方案是:

  1. 你先設定3個input框

  2. 然後第一個是讓使用者輸入原始密碼。

  3. 第二個和第三個輸入框用來讓使用者輸入新密碼和確認新密碼。

提交後,把使用者原始密碼,使用之前加密方式例如你的md5加密,和資料庫儲存的加密密碼對比,如果一樣,就說明,原始密碼正確。可以確定使用者身分合法。 (至於為什麼要這樣,因為md5不可逆,所以,我們就直接再加密一次,和你對比下,一樣的密碼,加密出來的總該一樣吧。)

如果使用者身分合法,下面你應該懂得,新密碼加密保存起來。這裡省略N多行校驗程式碼。

阿神

好吧 MD5根本就不是加密算法好不好。。。。MD5摘要算法。。。 摘要算法理论上讲是不需要逆向解码的。

巴扎黑

首先,建議題主遇到問題麻煩先去進行搜尋。
其次MD5是一種不可逆的加密演算法,如果是專案需要改密碼,都是進行對使用者輸入密碼進行md5加密後進行配對金鑰的。如果只是想將MD5還原,網路上有許多線上的解密,但只能解出相對簡單的密碼。


最後,建議題主關閉此題,真心無意義,謝謝

迷茫

天啊嚕~
嚇死寶寶了~
你居然想解密~


  • 用戶那獲得旧密码新密码

  • 旧密码 md5 加密。

  • 把加密過的旧密码和資料庫的密碼進行比較。

  • 如果一樣,則把新密码md5加密後存入資料庫。


摘要演算法不是這麼好逆向的,
當然你可以使用網路上的md5解密的工具。


黄舟

原理上來說是不可以的, md5是單向加密。 驗證的時候也是比較md5值是否相同。破解的話可以去下現成的彩虹表的數據, 但不是保證百分百出結果的, 當場撞md5要很久。

刘奇

這個基本上不可能。網路上的解密靠碰,運氣好可能碰到相同的md5值和對應的字串。而且md5值跟字串也不是一一對應的,很多字串的md5都是一樣的…

大家讲道理

還原不可能,嘗試碰撞有可能

Peter_Zhu

題主可以百度一下什麼是MD5,它是一种不可逆的算法。可逆的比如Base64等演算法。

刘奇

md5還原不了吧。 要不然也不用暴力破解了, 直接還原下好了。
建議搜搜 加鹽PBKDF2演算法。

大家讲道理

md5設計出來就不能還原,每次大家驗證就是將密碼轉成32位,然後和資料庫裡存的32位比較;

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板