康盛產(chǎn)品Discuz、UCHome、Supesite、UCenter密碼算法規(guī)則和生成方法

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

康盛產(chǎn)品Discuz、UCHome、Supesite、UCenter密碼算法規(guī)則和生成方法
-------------------------------------------------------------------------------------------
康盛的系列產(chǎn)品,包括Discuz、UCHome、Supesite都集成了同一個(gè)用戶系統(tǒng)——UCenter,用戶登錄的密碼也保存在UCenter中,對于其他系統(tǒng)集成或?qū)С鰯?shù)據(jù)到UCenter系統(tǒng),通常會(huì)遇到密碼生成的問題,這里就討論一下UCenter的用戶密碼算法規(guī)則和生成方法。

密碼通常使用MD5對用戶密碼HASH后保存在數(shù)據(jù)庫中的方法,如果黑客拿到了這個(gè)HASH數(shù)值,那么可以采用字典的方式暴力破解,如果這個(gè)字典數(shù)據(jù)庫足夠大,并且字典比較符合人們的設(shè)置習(xí)慣的話,那很容易就能破解常見的密碼,因此UCenter采用了salt來防止這種暴力破解,salt是一隨機(jī)字符串,它與口令連接在一起,再用單向函數(shù)對其運(yùn)算,然后將salt值各單向函數(shù)運(yùn)算的結(jié)果存入數(shù)據(jù)庫中。如果可能的salt值的數(shù)目足夠大的話,它實(shí)際上就消除了對常用口令采用的字典式攻擊,因?yàn)楹诳筒豢赡茉跀?shù)據(jù)庫中存儲(chǔ)那么多salt和用戶密碼組合后的HASH值。

UCenter的創(chuàng)始人密碼是保存在文件中的,打開uc下面/data/config.inc.php文件,里面的UC_FOUNDERPW保存的就是密碼,而UC_FOUNDERSALT保存的是SALT數(shù)值,創(chuàng)始人密碼的創(chuàng)建規(guī)則是:UC_FOUNDERPW=md5(md5(PASSWORD).UC_FOUNDERSALT),就是先將密碼MD5,然后添加salt,然后再次MD5,產(chǎn)生的HASH數(shù)值保存在config.inc.php文件中,因此修改UC_FOUNDERPW里面的數(shù)值就可以修改UCenter的創(chuàng)始人密碼。

UCenter的用戶信息是保存在uc_members表中,在這個(gè)表中,每個(gè)用戶都有一個(gè)不同的隨機(jī)salt字段,表中的password字段為計(jì)算后的密碼,密碼計(jì)算規(guī)則是$password=md5(md5($password).$salt),也就是將用戶的密碼MD5后,添加salt,然后再M(fèi)D5,保存在password字段中。

因此,如果進(jìn)行不同系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換,可以根據(jù)這個(gè)原理,將其他系統(tǒng)的用戶名和密碼計(jì)算后,導(dǎo)入U(xiǎn)Center的uc_members表中,實(shí)現(xiàn)用戶的遷移。例如,如果原有系統(tǒng)使用的是md5(password)這樣的算法保存密碼,那就通過程序隨機(jī)生成salt,然后計(jì)算兩者累加后的md5,這樣就很容易計(jì)算出這個(gè)用戶在UCenter中的用戶密碼HASH值,從而實(shí)現(xiàn)用戶的無縫遷移。

不過,如果原有系統(tǒng)使用的是md5(password+salt)的方式保存的密碼,那就無法實(shí)現(xiàn)密碼的平滑遷移UCenter了,即使遷移,也只能人為將其UCenter的password增加一個(gè)salt才能使用,因此,我們在平時(shí)設(shè)計(jì)系統(tǒng)用戶密碼的時(shí)候,應(yīng)該盡量采用md5(md5(password)+salt)的方式保存密碼,這樣才能方便的實(shí)現(xiàn)和UCenter的接口,并且保證了安全性,通常對于英文用戶名來說,自建系統(tǒng)使用username來做salt是個(gè)簡便的方法。

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 康盛產(chǎn)品Discuz、UCHome、Supesite、UCenter密碼算法規(guī)則和生成方法

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情