首页 > 编程 > .NET > 正文

ASP.NET with C#使用md5,sha1加密初探

2024-07-10 12:57:07
字体:
来源:转载
供稿:网友
/******雪龙原创*******/
//版权所有,末经作者同意不得转载

今天的实验还是比较顺利的,早上正则表达式用得很爽,晚上的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非常简单,使用下面的静态方法:
system.web.security.formsauthentication.hashpasswordforstoringinconfigfile(temp_str, "md5");
就可以得到加密后的字符串了,该静态方法很简单,temp_str就是你要加密的字符串变量,"md5"表示使用md5加密,如果用"sha1",就是用sha1加密了,够easy吧,赶快把你的密码验证加密吧。

从上面我们可以体会到,c#真不愧是microsoft的镇山之宝,提供的命名空间涵盖了我们常用的方方面面,你还等什么,快来和我一起学c#吧。

前段时间一直在研究c#中winform的自定义控件的使用,现在已经可以自己写自定义控件了,觉得它的代理机制和订阅机制还是很不错的,接下来就想把这部分的知识用在asp.net中,看看web自定义控件的使用情况是如何的,如果你也想知道,请期待我的下一篇报告吧!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表