ASP.NET with C#使用md5,sha1加密初探(10月21日首发)
2004-10-22 14:49
621 查看
/******雪龙原创*******/
//版权所有,末经作者同意不得转载
今天的实验还是比较顺利的,早上正则表达式用得很爽,晚上的MD5和SHA1加密也是没什么难度就用上了,下面是实验总结(洗衣机在洗衣服,趁机上网写点东西)。
先补充点加密知识:MD5和SHA1都是散列加密技术,所谓的散列加密就是无论你的输入字符串是什么,有多长,加密后都变成唯一的定长的加密串,MD5加密后的密串长度有16位的和32位两种,SHA1我今天数了一下有40位,这种加密方式的特点是加密方式是公开的,但你不能逆推,要破解只能穷举,难度好大的,理论上8位的密码组合有(26字母+10数字+21常用英文符号)的8次方种可能,以现在的比较好的机器机器要算上一年多。不过最近MD5听说被破解了,能很快碰撞到密码,不过破解机还没有流传出来,一般应用还是可以的,SHA1就相对要安全一点。
散列加密,用函数表示是这样的y=f(x),x是输入的字符串,f是算法,y是加密后的密串,f是公开的,号称唯一的x只对应唯一的y,x只有用户知道,所以y是唯一的,现在破解的MD5就是发现了有几个x可以对应y,而且从y可以很快地找到x。
加密技术流行的还有用于身份验证的公钥加密,有兴趣的朋友可以参考相关的加密书籍。
C#中使用MD5非常简单,使用下面的静态方法:
temp_str=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(temp_str, "MD5");
就可以得到加密后的字符串了,该静态方法很简单,temp_str就是你要加密的字符串变量,"MD5"表示使用MD5加密,如果用"SHA1",就是用SHA1加密了,够easy吧,赶快把你的密码验证加密吧。
从上面我们可以体会到,C#真不愧是MicroSoft的镇山之宝,提供的命名空间涵盖了我们常用的方方面面,你还等什么,快来和我一起学C#吧。
前段时间一直在研究C#中WinForm的自定义控件的使用,现在已经可以自己写自定义控件了,觉得它的代理机制和订阅机制还是很不错的,接下来就想把这部分的知识用在ASP.NET中,看看Web自定义控件的使用情况是如何的,如果你也想知道,请期待我的下一篇报告吧!
//版权所有,末经作者同意不得转载
今天的实验还是比较顺利的,早上正则表达式用得很爽,晚上的MD5和SHA1加密也是没什么难度就用上了,下面是实验总结(洗衣机在洗衣服,趁机上网写点东西)。
先补充点加密知识:MD5和SHA1都是散列加密技术,所谓的散列加密就是无论你的输入字符串是什么,有多长,加密后都变成唯一的定长的加密串,MD5加密后的密串长度有16位的和32位两种,SHA1我今天数了一下有40位,这种加密方式的特点是加密方式是公开的,但你不能逆推,要破解只能穷举,难度好大的,理论上8位的密码组合有(26字母+10数字+21常用英文符号)的8次方种可能,以现在的比较好的机器机器要算上一年多。不过最近MD5听说被破解了,能很快碰撞到密码,不过破解机还没有流传出来,一般应用还是可以的,SHA1就相对要安全一点。
散列加密,用函数表示是这样的y=f(x),x是输入的字符串,f是算法,y是加密后的密串,f是公开的,号称唯一的x只对应唯一的y,x只有用户知道,所以y是唯一的,现在破解的MD5就是发现了有几个x可以对应y,而且从y可以很快地找到x。
加密技术流行的还有用于身份验证的公钥加密,有兴趣的朋友可以参考相关的加密书籍。
C#中使用MD5非常简单,使用下面的静态方法:
temp_str=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(temp_str, "MD5");
就可以得到加密后的字符串了,该静态方法很简单,temp_str就是你要加密的字符串变量,"MD5"表示使用MD5加密,如果用"SHA1",就是用SHA1加密了,够easy吧,赶快把你的密码验证加密吧。
从上面我们可以体会到,C#真不愧是MicroSoft的镇山之宝,提供的命名空间涵盖了我们常用的方方面面,你还等什么,快来和我一起学C#吧。
前段时间一直在研究C#中WinForm的自定义控件的使用,现在已经可以自己写自定义控件了,觉得它的代理机制和订阅机制还是很不错的,接下来就想把这部分的知识用在ASP.NET中,看看Web自定义控件的使用情况是如何的,如果你也想知道,请期待我的下一篇报告吧!
相关文章推荐
- ASP.NET with C#使用md5,sha1加密初探
- 在ASP.Net With C# 中使用 DataGrid 控件分页展示数据
- Beginning ASP.NET 1.1 with Visual C# .NET 2003【封面】
- [导入]如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- C#中使用正则表达式初探(10月21日首发)
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- Writing ASP.NET Web Forms with C#
- ASP.NET中使用MD5和SHA1算法加密
- 在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8.0.5数据库!
- ASP.NET中密码保护,MD5和SHA1算法的使用
- asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
- 使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- 如何使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证
- ASP.NET中使用MD5和SHA1算法加密
- 使用C# Builder建一个简单的ASP.NET应用程序
- 使用ASP.NET(C#)查询和显示 Excel 数据
- 如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据
- 【Translate】Beginning ASP.NET 1.1 with Visual C# .NET 2003
- ASP.net with C#学习个人谈
- 使用 C# .NET 在 ASP.NET 应用程序中实现基于窗体的身份验证