国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > cms教程

UCenter密碼算法規(guī)則和生成方法

小編 cms教程 2024-04-01 16:41:11
康盛的系列產(chǎn)品,包括Discuz、UCHome、Supesite都集成了同一個用戶系統(tǒng)——UCenter,用戶登錄的密碼也保存在 UCenter中,對于其他系統(tǒng)集成或?qū)С鰯?shù)據(jù)到UCenter系統(tǒng),通常會遇到密碼生成的問題,這里就討論一下UCenter的用戶密碼算法規(guī)則和生成 方法。
  密碼通常使用MD5對用戶密碼HASH 后保存在數(shù)據(jù)庫中的方法,如果黑客拿到了這個HASH數(shù)值,那么可以采用字典的方式暴力破解,如果這個字典數(shù)據(jù)庫足夠大,并且字典比較符合人們的設(shè)置習(xí)慣 的話,那很容易就能破解常見的密碼,因此UCenter采用了salt來防止這種暴力破解,salt是一隨機字符串,它與口令連接在一起,再用單向函數(shù)對 其運算,然后將salt值各單向函數(shù)運算的結(jié)果存入數(shù)據(jù)庫中。如果可能的salt值的數(shù)目足夠大的話,它實際上就消除了對常用口令采用的字典式攻擊,因為 黑客不可能在數(shù)據(jù)庫中存儲那么多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表中,在這個表中,每個用戶都有一個不同的隨機 salt字段,表中的password字段為計算后的密碼,密碼計算規(guī)則是$password=md5(md5($password).$salt),也 就是將用戶的密碼MD5后,添加salt,然后再MD5,保存在password字段中。
  因此,如果進(jìn)行不同系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換,可以根據(jù) 這個原理,將其他系統(tǒng)的用戶名和密碼計算后,導(dǎo)入UCenter的uc_members表中,實現(xiàn)用戶的遷移。例如,如果原有系統(tǒng)使用的是 md5(password)這樣的算法保存密碼,那就通過程序隨機生成salt,然后計算兩者累加后的md5,這樣就很容易計算出這個用戶在 UCenter中的用戶密碼HASH值,從而實現(xiàn)用戶的無縫遷移。
  不過,如果原有系統(tǒng)使用的是md5(password+salt)的 方式保存的密碼,那就無法實現(xiàn)密碼的平滑遷移UCenter了,即使遷移,也只能人為將其UCenter的password增加一個salt才能使用,因 此,我們在平時設(shè)計系統(tǒng)用戶密碼的時候,應(yīng)該盡量采用md5(md5(password)+salt)的方式保存密碼,這樣才能方便的實現(xiàn)和 UCenter的接口,并且保證了安全性,通常對于英文用戶名來說,自建系統(tǒng)使用username來做salt是個簡便的方法。

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號:國作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請注明來源,商業(yè)媒體及紙媒請先聯(lián)系:aishangyiwan@126.com

工信部備案號:湘ICP備19012813號-5