C# 2005 Md5加密后 怎么跟 asp Md5加密不一样!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 2005 Md5加密后 怎么跟 asp Md5加密不一样!相关的知识,希望对你有一定的参考价值。
C# 2005 Md5加密后 怎么跟 asp Md5加密不一样!
有没有朋友,能给个正确的,加密后一样的代码..
C# 取中间16位,与ASP相同
public static string Md5(string inputString)
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < encryptedBytes.Length; i++)
sb.AppendFormat("0:x2", encryptedBytes[i]);
return sb.ToString().Substring(8, 16);
参考技术A 是因为字符的编码不一样改成一样的编码就行了,看看这吧
http://zhidao.baidu.com/question/103185401.html
C# 字符串md5加密成16位和32位
#region md5加密 /// <summary> /// MD5 16位加密 加密后密码为小写 /// </summary> /// <param name="ConvertString"></param> /// <returns></returns> private string GetMd5Str16(string ConvertString) { try { using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider()) { string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8); return t2.Replace("-", "").ToLower(); } } catch { return null; } } /// <summary> /// MD5 32位加密 加密后密码为小写 /// </summary> /// <param name="text"></param> /// <returns></returns> private string GetMd5Str32(string text) { try { using (MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider()) { byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(text)); StringBuilder sBuilder = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sBuilder.Append(data[i].ToString("x2")); } return sBuilder.ToString().ToLower(); } } catch { return null; } } #endregion
以上是关于C# 2005 Md5加密后 怎么跟 asp Md5加密不一样!的主要内容,如果未能解决你的问题,请参考以下文章