首页 新闻 搜索 专区 学院

ASP.net中md5加密类

0
悬赏园豆:10 [已解决问题] 解决于 2017-06-25 12:58
public   static   string   GetMD5(string   myString)   
{
MD5   md5     =   new   MD5CryptoServiceProvider();
byte[]   fromData   =   System.Text.Encoding.Unicode.GetBytes(myString);
byte[]   targetData   =   md5.ComputeHash(fromData);
string   byte2String   =   null;

for   (int   i=0;   i<targetData.Length;   i++)   
{
byte2String   +=   targetData[i].ToString("x");
}

return   byte2String;
}

这个加密出来的密码居然不对,

例如:‘“123456”应该是e10adc3949ba59abbe56e057f20f883e

AliceH的主页 AliceH | 菜鸟二级 | 园豆:282
提问于:2017-06-23 16:05
< >
分享
最佳答案
0

你用的编码格式是unicode对比utf8的生成的md5的值,肯定不一样呀

 

改成utf8就行了

 byte[] fromData = System.Text.Encoding.UTF8.GetBytes(myString);
收获园豆:10
秋壶冰月 | 大侠五级 |园豆:5694 | 2017-06-23 16:58

这个也不对

AliceH | 园豆:282 (菜鸟二级) | 2017-06-25 12:45

 return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();   

原来只需要一行代码

AliceH | 园豆:282 (菜鸟二级) | 2017-06-25 12:57
其他回答(1)
0

有什么好不对的.你两次是一样的结果.并且换成654321是不一样的结果.

那就行了.

md5叫:特征码.不是加密.

吴瑞祥 | 园豆:29369 (高人七级) | 2017-06-23 16:20

这是约定了md5加密的

支持(0) 反对(0) AliceH | 园豆:282 (菜鸟二级) | 2017-06-25 12:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册