标签:十六进制 16 C# 32 pwd ToString X2 md5
str.ToString("X2"):
X为十六进制,
2为每次都是两位数
第一次用的s[i].ToString("X"),出错找了下是少了1位,03只输出了3,改为s[i].ToString("X2");
1 /// <summary> 2 /// 字符串转MD5 3 /// </summary> 4 /// <param name="str">需要加密的字符串</param> 5 /// <param name="md5_16">需不需要返回16位,默认32位</param> 6 /// <param name="capital">需不需要返回大写,默认小写</param> 7 /// <returns></returns> 8 public static string StringToMD5(string str = "", bool md5_16=false, bool capital = false) 9 { 10 string pwd = ""; 11 MD5 md5 = MD5.Create(); //实例化一个md5对象 12 byte[] s = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(str)); 13 14 // 大写 15 if (capital) 16 { 17 for (int i = 0; i < s.Length; i++) 18 { 19 // --X为十六进制,2为每次都是两位数 20 pwd = pwd + s[i].ToString("X2"); // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母 21 } 22 } 23 else 24 { 25 for (int i = 0; i < s.Length; i++) // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符 26 { 27 pwd = pwd + s[i].ToString("X2").ToLower(); 28 } 29 } 30 31 // 16位 32 if (md5_16) 33 { 34 pwd = pwd.Substring(4, 16); 35 } 36 return pwd; 37 }
标签:十六进制,16,C#,32,pwd,ToString,X2,md5 来源: https://www.cnblogs.com/qq2806933146xiaobai/p/15561274.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。