中文MD5加密结果与ASP不同,着急!

davidye 2005-09-19 11:02:38
主要用了下面的函数来加密,其中的Encoding已经测试过所有类型,但是对于中文字符的加密结果都是与ASP以及JAVA的加密结果不同,请问有人知道如何解决嘛?

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("中文加密字符","MD5");

public static string GetMD5(string str)
{
byte[] b=System.Text.Encoding.Default.GetBytes(str);
b=new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(b);
string ret="";
for(int i=0;i<b.Length;i++)
{
ret+=b[i].ToString ("x").PadLeft(2,'0');
}
return ret;
}
...全文
192 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuuzg 2006-05-12
  • 打赏
  • 举报
回复
引用命名空间
using System.Security.Cryptography;

public string MD5(string ToEncryptString)
{
MD5CryptoServiceProvider hashmd5;
hashmd5 = new MD5CryptoServiceProvider();
return BitConverter.ToString(hashmd5.ComputeHash(System.Text.Encoding.Default.GetBytes(ToEncryptString))).Replace("-","").ToLower();

//把所有字符变小写
//.Substring(8,16);
//如果后面加上上面一句,则是16位长度加密
}
SpbDev 2005-09-19
  • 打赏
  • 举报
回复
都是一样的,但有一些细节:
1 .net中加密出的结果字母是大写的,很多asp代码中则把加密结果转换为小写了(很容易解决吧?)
2 部分asp代码只取了MD5结果的从第9位开始的中间16位长度(全长为32位),这种情况截取一下即可
孟子E章 2005-09-19
  • 打赏
  • 举报
回复
Asp.Net中MD5加密如何与ASP中的加密通用

http://www.lunji.com/develop/aspx041208.htm

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧