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

首頁(yè) > 編程 > C# > 正文

C#與PHP的md5計(jì)算結(jié)果不同的解決方法

2020-01-24 00:52:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題重現(xiàn)

這個(gè) API 是當(dāng)時(shí)給 Lyra 應(yīng)用做激活用的,遂打開 Lyra 試了下,卻發(fā)現(xiàn)一切正常,于是可以排除服務(wù)端的問(wèn)題

放出導(dǎo)致錯(cuò)誤的源碼(來(lái)自 MSDN):

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();}

實(shí)質(zhì)

MD5 有很多版本,其實(shí)這段代碼并沒(méi)有錯(cuò),但是 php 的 md5 函數(shù)默認(rèn)返回的是 32位小寫 ,而以上這一段返回的是 16位小寫

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

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');}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 红桥区| 灯塔市| 叙永县| 牟定县| 定安县| 新巴尔虎右旗| 苍溪县| 扎鲁特旗| 金沙县| 会同县| 宣化县| 大渡口区| 尖扎县| 江口县| 大洼县| 九龙坡区| 井陉县| 陆川县| 徐汇区| 哈密市| 永安市| 晴隆县| 乐东| 烟台市| 定西市| 鄄城县| 赤壁市| 江达县| 乌什县| 德格县| 德钦县| 辰溪县| 太湖县| 乐亭县| 咸宁市| 噶尔县| 峡江县| 台南县| 榕江县| 儋州市| 荣成市|