ASP.NET加密口令例子

分类: asp.net   出处:iocblog整理  更新时间:2009-10-19   添加到收藏  

  每当我们要建立数据库驱动的个人化的web站点时,都必须要保护用户的数据。尽管黑客可以盗取个人的口令,然而更严重的问题是有人能够盗走整个数据库,然后立刻就是所有的口令。

  有一个好的做法是不将实际的口令存储在数据库中,而是存储它们加密后的版本。当我们需要对用户进行鉴定时,只是对用户的口令再进行加密,然后将它与系统中的加密口令进行比较即可。

  在asp中,我们不得不借助外部对象来加密字符串。而.net sdk解决了这个问题,它在system.web.security 名称空间中的cookieauthentication类中提供了hashpasswordforstoringinconfigfile方法,这个方法的目的正如它的名字所提示的,就是要加密存储在配置文件甚至cookies中的口令。

例子

  hashpasswordforstoringinconfigfile方法使用起来非常简单,它支持用于加密字符串的“sha1”和“md5”散列算法。为了看看hashpasswordforstoringinconfigfile方法的威力,让我们创建一个小小的asp.net页面,并且将字符串加密成sha1和md5格式。下面是这样的一个asp.net页面源代码:
 

在数据库应用程序中使用加密方法

  每当你向数据库中增加一个用户记录时,都要使用这个函数来加密口令,并将这个口令作为加密过的字符串插入字符串中。当用户登录你的站点时,用这个函数对用户输入的口令进行加密,然后将它与从数据库中恢复的那个加密口令进行比较。

 (来源 www.iocblog.net)

original clear text password:

encrypted password in sha1: 
 

encrypted password in md5: 

  你可以看到,加密口令就是这么简单。我们还可以将这个功能包装在一个函数中,随时可以再利用它:function encryptpassword (passwordstring as string, passwordformat as string) as string
if passwordformat = "sha1" then
encryptpassword = cookieauthentication.hashpasswordforstoringinconfigfile(passwordstring, "sha1")(来源 www.iocblog.net)
elseif passwordformat = "md5" then
encryptpassword= cookieauthentication.hashpasswordforstoringinconfigfile(passwordstring, "md5")
else
encryptpassword = ""
end if
end function
 


Tag: 加密



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。