作者bobju (寶貝豬)
看板Database
標題Re: [SQL ] XOOPS + MySQL 關於密碼的問題
時間Tue Oct 20 21:17:21 2009
xoops2 在處理用戶所設定的密碼時, 會先用md5()函式編碼後, 再存入資料庫.
對於任何被md5()函式編碼過的字串, 不論原始長度為何, 編出來的長度一定都是
32個bytes長, 而且不可逆, 理論上不可能從編過的md5 code 逆推得到原始密碼.
xoops2 要驗證用戶的密碼時, 也是先用md5()函式將用戶輸入的密碼編成md5編碼,
然後再跟之前用戶已存在資料庫當中已編成md5的密碼去比對, 比對成功就通過驗
證, 比對失敗就是驗證失敗.
不過有些取巧的步數還是可以'破解'部份內容太單純的密碼, 有興趣可上google
用'md5' '破解' 去找相關文章, 進階的話還可以去了解 'salt' 的相關應用.
xoops2不只將md5應用在密碼編碼及比對上, 也應用在驗證其原始程式碼是否有經過
變造. 只要對xoops的所有原始碼搜尋'md5(', 就可知道xoops在哪些地方會用上md5
函式.
至於原po的問題的處理方式, 應該就是把資料庫的用戶資料'完整還原'到新的
xoops2系統的資料庫上, 對於密碼欄不需要做任何變動, 保持其原本的md5編碼,
這樣原用戶的密碼才能夠正常使用.
※ 引述《whileloop (迴圈)》之銘言:
: 我想要透過MySQL直接新增會員資料
: 因為有五百多筆,想用匯入方式,否則用前台新增太慢了
: 但是我發現資料庫中密碼的欄位是一堆數字與英文夾雜的亂數
: 請問,我該怎麼輸入?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.115.151.184
※ 編輯: bobju 來自: 58.115.151.184 (10/20 21:28)
推 Tiger0319:不單純也可被炸開 10/20 21:58
→ bobju:可以加salt,增加被炸開的障礙.不過原po目前要解決的不是這個 10/20 22:01
推 Tiger0319:MD5 已經不安全了 10/20 22:06
推 rushcat:原po現在手上的密碼根本就是原始沒加密的阿XD 10/20 22:17
推 whileloop:XD 沒錯... 10/20 22:19
→ bobju:喔,我誤會了..那得手動寫程式轉也行. 10/20 22:47
推 whileloop:感謝bobju大的鼎力相助~~ ^^" 10/20 23:34