国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

UCenter密碼算法規則和生成方法

2024-04-25 20:41:54
字體:
來源:轉載
供稿:網友

康盛的系列產品,包括Discuz、UCHome、Supesite都集成了同一個用戶系統——UCenter,用戶登錄的密碼也保存在 UCenter中,對于其他系統集成或導出數據到UCenter系統,通常會遇到密碼生成的問題,這里就討論一下UCenter的用戶密碼算法規則和生成 方法。

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

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

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

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 将乐县| 涪陵区| 铁岭县| 凤台县| 汽车| 徐州市| 桦南县| 弋阳县| 马公市| 温泉县| 崇仁县| 鄂托克前旗| 泸州市| 屯昌县| 商城县| 年辖:市辖区| 明光市| 忻城县| 双峰县| 宜丰县| 博野县| 宜春市| 旅游| 克东县| 札达县| 通州区| 元朗区| 北川| 班玛县| 盈江县| 凤翔县| 淳安县| 会同县| 合肥市| 揭东县| 霍邱县| 望奎县| 海宁市| 富锦市| 巫山县| 冷水江市|