All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET常用路径(path)获取方法对照表_[Asp.Net教程]
c#中GDI+图形图像:GDI+中曲线的填充使用方法
ASP与ASP.NET互通COOKIES的一点经验_[Asp.Net教程]
SQL,Server面试题整合_mssql学习_编程技术
ASP.NET数据库编程快速入门之技术慨述_[Asp.Net教程]
delphi字符串栅格组件(TStringGrid)使用实例
c#,static的全部用法收集整理_[Asp.Net教程]
AJAX技术在PHP开发中的简单应用_[AJAX教程]
动态网页PHP程序中文件上传的安全问题_php资料_编程技术
javascript,函数,检查图片大小是否大于预期大小_JavaScript技术_编程技术
Reading number is top 10 pictures
梦幻的风景
在加油站厕所门口看到的告示
A man's favorite things15
Born After 90 Beijing sports university campus flower photos1
Original author said, this is the Hengyang people
The Soviet union swimsuit exposure in the 70 year3
Summer is most suitable for young people to travel in China10
人美胸美腿更美2
The money of more than 100 countries and regions17
西班牙山村小景4
Download software ranking
C#编程思想
实战黑客不求人
linux初级教程
Unix video tutorial10
Unix video tutorial14
C#COM编程指南
Unix video tutorial9
Boxer's Top ten classic battle6
The cock of the Grosvenor LTD handsome
The Bermuda triangle1
delv published in(发表于) 2014/1/23 3:13:41 Edit(编辑)
关于.NET中MD5加密与ASP中MD5加密值不同的解决办法_[Asp.Net教程]

关于.NET中MD5加密与ASP中MD5加密值不同的解决办法_[Asp.Net教程]

关于.NET中MD5加密与ASP中MD5加密值不同的解决办法_[Asp.Net教程]

问题:正在做一个ASP到ASP.NET的商城改版,原来的注册用户需要保留,原来的用户密码是ASP的MD5,32位加密,记得ASP的MD5与ASP.NET的MD5加密结果并不相等,于是试了下:
原来用的一个MD5加密方法:
///


/// MD5加密算法
///

/// 要加密的字符串
/// md5加密结果
public static string Getmd5(string md5str)
{
byte[] data;
string ret = "";
data = System.Text.Encoding.UTF8.GetBytes(md5str);
MD5CryptoServiceProvider MD5OBJ = new MD5CryptoServiceProvider();
byte[] md5byte = MD5OBJ.ComputeHash(data);
for (int i = 0; i < md5byte.Length; i++)
{
ret += md5byte[i].ToString("x").PadLeft(2, '0');
}
return ret;
}


后来无意中发现有更简单的实现方法
///


/// MD5加密算法
///

/// 要加密的字符串
/// md5加密结果
public static string GetMd5(string md5str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(md5str, "MD5");
}


用第二种方法输出"admin"的MD5加密结果为:
21232F297A57A5A743894A0E4A801FC3
与ASP MD5加密的16和32位加密结果比较:
16位加密(7a57a5a743894a0e)
32位加密(21232f297a57a5a743894a0e4a801fc3)


发现与32位加密结果相同,只是字母大小写不同,16位加密结果只是从32位加密结果中取了中间16个,于是:
///


/// ASP MD5加密算法
///

/// 要加密的字符串
/// 16还是32位加密
/// Asp md5加密结果
public static string GetAspMd5(string md5str,int type)
{
if (type == "16")
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(md5str, "MD5").Substring(8, 16).ToLower();
}
else if (type=="32")
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(md5str, "MD5").ToLower();
}
return "";
}
上面一个方法实现了在.NET里的ASP MD5加密结果。


来源:fantaohaoyou的blog







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.