国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#與PHP的md5計算結果不同的解決方法

C#與PHP的md5計算結果不同的解決方法

2021-12-15 13:23ifengge C#

今天在用C#接入我的登錄api發現了一個問題,登陸的時候無論如何都會出現用戶名和密碼錯誤的問題,后來通過查找排除找的了問題的原因是因為C#與PHP的md5計算結果不同導致的,下面就來看看如何解決這個問題吧。

問題重現

這個 API 是當時給 Lyra 應用做激活用的,遂打開 Lyra 試了下,卻發現一切正常,于是可以排除服務端的問題

放出導致錯誤的源碼(來自 MSDN):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public string CalculateMD5Hash(string input)
{
  // step 1, calculate MD5 hash from input
  MD5 md5 = System.Security.Cryptography.MD5.Create();
  byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
  byte[] hash = md5.ComputeHash(inputBytes);
  // step 2, convert byte array to hex string
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i < hash.Length; i++)
  { sb.Append(hash[i].ToString(“X2”));
  }
  return sb.ToString();
}

實質

MD5 有很多版本,其實這段代碼并沒有錯,但是 php 的 md5 函數默認返回的是 32位小寫 ,而以上這一段返回的是 16位小寫

于是想辦法把這個 func 改為 32位小寫輸出即可

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static String md5(String s)
{
  MD5 md5 = new MD5CryptoServiceProvider();
  byte[] bytes = System.Text.Encoding.UTF8.GetBytes(s);
  bytes = md5.ComputeHash(bytes);
  md5.Clear();
 
  string ret = "";
  for (int i = 0; i < bytes.Length; i++)
  {
    ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
  }
  return ret.PadLeft(32, '0');
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

原文鏈接:https://ifengge.me/archives/274.html?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
主站蜘蛛池模板: 日韩一区二区三区福利视频 | 欧美日韩视频第一页 | 亚洲综合色自拍一区 | 成人3d动漫一区二区三区91 | av在线电影网| 男人的天堂在线免费视频 | 中文字幕在线三区 | 日本精品网 | 国产成人免费在线 | 永久91嫩草亚洲精品人人 | 国产成人网 | 国产精品精品久久久 | 一区二区三区在线看 | 亚洲视频在线观看免费 | 中文字幕综合在线 | 成人福利视频 | 这里只有精品视频 | 日本精品中文字幕 | 日韩一级电影在线 | 91在线观看 | 色婷婷影院 | 伊人中文字幕 | 日韩在线免费观看网站 | 日韩大片在线观看 | 黄色二区 | 国产精品久久久久一区二区三区 | 在线国产视频观看 | 久久99精品久久久久久园产越南 | 亚洲深深色噜噜狠狠网站 | 亚洲精品第一 | 国产精品香蕉 | 亚洲免费视频网站 | 精品成人在线视频 | 亚洲第一视频 | 久久av网 | 五月婷婷激情网 | 欧美成人一区二区 | 99热精品国产 | 国产精品一码二码三码在线 | 亚洲喷水 | 依人久久久 |