最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php用戶(hù)密碼加密算法分析【Discuz加密算法】

 更新時(shí)間:2016年10月12日 09:14:45   作者:kp12345  
這篇文章主要介紹了php用戶(hù)密碼加密算法,較為詳細(xì)的分析了Discuz加密算法的原理,并結(jié)合實(shí)例形式對(duì)比了.net算法的實(shí)現(xiàn)方法總結(jié)了php進(jìn)行用戶(hù)加密的流程與實(shí)現(xiàn)方法,需要的朋友可以參考下

本文實(shí)例講述了php用戶(hù)密碼加密算法。分享給大家供大家參考,具體如下:

今天在拿Discuz進(jìn)行二次開(kāi)發(fā)時(shí)需要在代碼里驗(yàn)證Discuz的用戶(hù)名密碼,結(jié)果不小心掉進(jìn)了坑里,因?yàn)镈iscuz的論壇有兩張表來(lái)存儲(chǔ)用戶(hù)數(shù)據(jù),一張?jiān)贒iscuz的數(shù)據(jù)庫(kù)ultrax里面的pre_common_member里面,另一個(gè)是存儲(chǔ)在了UCenter的數(shù)據(jù)庫(kù)ucenter的uc_members表里。花了很大功夫在研究ultrax庫(kù)里那張pre_common_member的數(shù)據(jù),研究它的密碼是如何生成的,結(jié)果搜了一下發(fā)現(xiàn)網(wǎng)上說(shuō)是隨機(jī)生成的一個(gè)salt

心想這隨機(jī)生成的salt如何在登錄時(shí)進(jìn)行驗(yàn)證呢?然后網(wǎng)上說(shuō)其實(shí)Discuz壓根就沒(méi)用那個(gè)密碼,自己試驗(yàn)了一下,果真如此,即使把pre_common_member里面的用戶(hù)密碼改掉,照樣能夠正常登錄,看來(lái)這個(gè)密碼壓根就沒(méi)用,害我繞了一個(gè)大圈子。

好了,進(jìn)入正題,Discuz的密碼加密算法其實(shí)就是兩次MD5加密,首先用明文進(jìn)行一次加密,之后隨機(jī)生成一個(gè)salt,再把第一次的密文后面添加salt作為明文再進(jìn)行一次MD5加密。salt保存在uc_members表里,可以通過(guò)用戶(hù)名進(jìn)行獲取。

像這樣:

MD5(MD5(明文)+salt)

下面是.net的實(shí)現(xiàn)代碼:

string GetDiscuzPWString(string sourceStr, string salt)
{
   return GetMd5Hash(string.Concat(GetMd5Hash(sourceStr),salt));
}
string GetMd5Hash(string input)
{
  MD5 md5Hasher = MD5.Create();
  byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
  StringBuilder sBuilder = new StringBuilder();
  for (int i = 0; i < data.Length; i++)
  {
    sBuilder.Append(data[i].ToString("x2"));
  }
  return sBuilder.ToString();
}

總結(jié)密碼判斷方式:

① 要安裝UC

② 打開(kāi)數(shù)據(jù)庫(kù)找到uc_members 這表,尋找最后一個(gè)字段"salt ",復(fù)制里面的值

③ 偽代碼:

$s=md5(md5("密碼")."salt字段的值");
echo $s;

④ 用IF判斷

⑤ 再說(shuō)一次!那個(gè)隨機(jī)是6位數(shù)!

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線(xiàn)工具:

密碼安全性在線(xiàn)檢測(cè):
http://tools.jb51.net/password/my_password_safe

高強(qiáng)度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword

MD5在線(xiàn)加密工具:
http://tools.jb51.net/password/CreateMD5Password

迅雷、快車(chē)、旋風(fēng)URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder

在線(xiàn)散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php加密方法總結(jié)》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》、及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php去掉文件前幾行的方法

    php去掉文件前幾行的方法

    這篇文章主要介紹了php去掉文件前幾行的方法,以去除lrc文件前幾行為例分析了php操作文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • php動(dòng)態(tài)讀取數(shù)據(jù)清除最右邊距的方法

    php動(dòng)態(tài)讀取數(shù)據(jù)清除最右邊距的方法

    下面小編就為大家?guī)?lái)一篇php動(dòng)態(tài)讀取數(shù)據(jù)清除最右邊距的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • PHP工廠(chǎng)模式Factory Pattern的實(shí)現(xiàn)及特點(diǎn)

    PHP工廠(chǎng)模式Factory Pattern的實(shí)現(xiàn)及特點(diǎn)

    工廠(chǎng)模式,是一種實(shí)例化對(duì)象的方式,只要輸入需要實(shí)例化對(duì)象的名字,就可以通過(guò)工廠(chǎng)對(duì)象的相應(yīng)工廠(chǎng)函數(shù)來(lái)制造你需要的對(duì)象,工廠(chǎng)模式的最主要作用就是對(duì)象創(chuàng)建的封裝、簡(jiǎn)化創(chuàng)建對(duì)象操作
    2023-03-03
  • PHP開(kāi)發(fā)負(fù)載均衡指南

    PHP開(kāi)發(fā)負(fù)載均衡指南

    過(guò)去當(dāng)運(yùn)行一個(gè)大的web應(yīng)用時(shí)候意味著運(yùn)行一個(gè)大型的web服務(wù)器。因?yàn)槟愕膽?yīng)用吸引了大量的用戶(hù),你將不得不在你的服務(wù)器里增加更多的內(nèi)存和處理器。
    2010-07-07
  • PHP結(jié)合vue導(dǎo)出excel出現(xiàn)亂碼的解決方法分享

    PHP結(jié)合vue導(dǎo)出excel出現(xiàn)亂碼的解決方法分享

    這篇文章主要為大家詳細(xì)介紹了PHP結(jié)合vue導(dǎo)出excel出現(xiàn)亂碼的解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-02-02
  • PHP+JQUERY操作JSON實(shí)例

    PHP+JQUERY操作JSON實(shí)例

    這篇文章主要介紹了PHP+JQUERY操作JSON的方法,結(jié)合具體實(shí)例形式分析了php+jQuery結(jié)合ajax實(shí)現(xiàn)json格式數(shù)據(jù)操作的相關(guān)技巧,需要的朋友可以參考下
    2017-03-03
  • 解析php中的fopen()函數(shù)用打開(kāi)文件模式說(shuō)明

    解析php中的fopen()函數(shù)用打開(kāi)文件模式說(shuō)明

    本篇文章是對(duì)php中的fopen()函數(shù)用打開(kāi)文件模式說(shuō)明進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP配置心得包含MYSQL5亂碼解決

    PHP配置心得包含MYSQL5亂碼解決

    PHP配置心得包含MYSQL5亂碼解決...
    2006-11-11
  • PHP swoole中http_server的配置與使用方法實(shí)例分析

    PHP swoole中http_server的配置與使用方法實(shí)例分析

    這篇文章主要介紹了PHP swoole中http_server的配置與使用方法,結(jié)合實(shí)例形式分析了swoole中swoole_http_server類(lèi)的功能及http_server的配置、創(chuàng)建服務(wù)相關(guān)使用技巧,需要的朋友可以參考下
    2020-03-03
  • php+redis實(shí)現(xiàn)注冊(cè)、刪除、編輯、分頁(yè)、登錄、關(guān)注等功能示例

    php+redis實(shí)現(xiàn)注冊(cè)、刪除、編輯、分頁(yè)、登錄、關(guān)注等功能示例

    這篇文章主要介紹了php+redis實(shí)現(xiàn)注冊(cè)、刪除、編輯、分頁(yè)、登錄、關(guān)注等功能,結(jié)合實(shí)例形式分析了php+redis項(xiàng)目開(kāi)發(fā)中常用的注冊(cè),刪除,編輯,分頁(yè),登錄,關(guān)注功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-02-02

最新評(píng)論

孝昌县| 襄垣县| 确山县| 建始县| 遂平县| 仙桃市| 鄂伦春自治旗| 苏尼特左旗| 广平县| 黑山县| 游戏| 宁阳县| 黎平县| 宜州市| 毕节市| 周宁县| 平阳县| 新巴尔虎左旗| 桐乡市| 江西省| 肇源县| 天等县| 荆门市| 江永县| 枣强县| 博乐市| 汉中市| 调兵山市| 龙里县| 祥云县| 赣榆县| 当雄县| 灵石县| 密山市| 普陀区| 漳州市| 当雄县| 东阿县| 漳浦县| 翁牛特旗| 平潭县|