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

php用戶密碼加密算法分析【Discuz加密算法】

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

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

今天在拿Discuz進行二次開發(fā)時需要在代碼里驗證Discuz的用戶名密碼,結果不小心掉進了坑里,因為Discuz的論壇有兩張表來存儲用戶數(shù)據(jù),一張在Discuz的數(shù)據(jù)庫ultrax里面的pre_common_member里面,另一個是存儲在了UCenter的數(shù)據(jù)庫ucenter的uc_members表里。花了很大功夫在研究ultrax庫里那張pre_common_member的數(shù)據(jù),研究它的密碼是如何生成的,結果搜了一下發(fā)現(xiàn)網上說是隨機生成的一個salt

心想這隨機生成的salt如何在登錄時進行驗證呢?然后網上說其實Discuz壓根就沒用那個密碼,自己試驗了一下,果真如此,即使把pre_common_member里面的用戶密碼改掉,照樣能夠正常登錄,看來這個密碼壓根就沒用,害我繞了一個大圈子。

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

像這樣:

MD5(MD5(明文)+salt)

下面是.net的實現(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();
}

總結密碼判斷方式:

① 要安裝UC

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

③ 偽代碼:

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

④ 用IF判斷

⑤ 再說一次!那個隨機是6位數(shù)!

PS:關于加密解密感興趣的朋友還可以參考本站在線工具:

密碼安全性在線檢測:
http://tools.jb51.net/password/my_password_safe

高強度密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

迅雷、快車、旋風URL加密/解密工具:
http://tools.jb51.net/password/urlrethunder

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

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php加密方法總結》、《PHP編碼與轉碼操作技巧匯總》、《php面向對象程序設計入門教程》、《PHP數(shù)學運算技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php正則表達式用法總結》、及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

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

    php去掉文件前幾行的方法

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

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

    下面小編就為大家?guī)硪黄猵hp動態(tài)讀取數(shù)據(jù)清除最右邊距的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • PHP工廠模式Factory Pattern的實現(xiàn)及特點

    PHP工廠模式Factory Pattern的實現(xiàn)及特點

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

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

    過去當運行一個大的web應用時候意味著運行一個大型的web服務器。因為你的應用吸引了大量的用戶,你將不得不在你的服務器里增加更多的內存和處理器。
    2010-07-07
  • PHP結合vue導出excel出現(xiàn)亂碼的解決方法分享

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

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

    PHP+JQUERY操作JSON實例

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

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

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

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

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

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

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

    php+redis實現(xiàn)注冊、刪除、編輯、分頁、登錄、關注等功能示例

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

最新評論

奉节县| 丹棱县| 广昌县| 寻甸| 甘谷县| 逊克县| 台安县| 视频| 富民县| 明水县| 天津市| 萨迦县| 定西市| 肇庆市| 延寿县| 纳雍县| 宣威市| 铜梁县| 崇左市| 乌鲁木齐市| 台南县| 茂名市| 璧山县| 岑巩县| 碌曲县| 高邑县| 陆良县| 邵阳县| 都江堰市| 旬阳县| 张北县| 探索| 来宾市| 报价| 镇原县| 襄城县| 清河县| 宾川县| 定西市| 万州区| 辽阳市|