用ASP.NET加密口令(转)

asp.net|加密

用ASP.NET加密口令

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

原理

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

在ASP中,我们不得不借助外部对象来加密字符串。而.NET SDK解决了这个问题,它在System.Web.Security 名称空间中的CookieAuthentication类中提供了HashPasswordForStoringInConfigFile方法,这个方法的目的正如它的名字所提示的,就是要加密存储在配置文件甚至cookies中的口令。

例子

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

<%@ Import Namespace="System.Web.Security" %>
<html>
<head>
<script language="VB" runat=server>
' This function encrypts the input string using the SHA1 and MD5
' encryption algorithms
Sub encryptString(Src As Object, E As EventArgs)
SHA1.Text = CookieAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "SHA1")
MD5.Text = CookieAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "MD5")
End Sub
</script>
</head>
<body>
<form runat=server>
<p><b>Original Clear Text Password: </b><br>
<asp:Textbox id="txtPassword" runat=server />
<asp:Button runat="server" text="Encrypt String" onClick="encryptString" /></p>
<p><b>Encrypted Password In SHA1: </b>
<asp:label id="SHA1" runat=server /></p>
<p><b>Encrypted Password In MD5: </b>
<asp:label id="MD5" runat=server /></p>
</form>
</body>
</html>

点击这里进行演示。
你可以看到,加密口令就是这么简单。我们还可以将这个功能包装在一个函数中,随时可以再利用它:

Function EncryptPassword (PasswordString as String, PasswordFormat as String) as String
If PasswordFormat = "SHA1" then
EncryptPassword = CookieAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "SHA1")
Elseif PasswordFormat = "MD5" then
EncryptPassword= CookieAuthentication.HashPasswordForStoringInConfigFile(PasswordString, "MD5")
Else
EncryptPassword = ""
End if
End Function

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

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

时间: 2024-10-28 04:46:04

用ASP.NET加密口令(转)的相关文章

使用ASP.NET加密口令

asp.net|加密 当我们在网站上建立数据库时,保护用户的信息安全是非常必要的.多数用户不愿意让别人知道自己的信息,同时网管也不想因为安全问题而丢失网站的信誉.无论对于谁,安全问题都是非常重要的. 为了解决这个问题,我给大家提供一个简单实用,但是老套的方法,就是口令加密.在此我们使用ASP.NET技术对口令加密.简单的讲,就是将用户提供的口令加密之后,然后让它和存放于系统中的数据比较,如果相同,则通过验证. 在ASP中,并未提供加密的对象,我们只能使用外部的对象来进行加密.现在好了,在ASP.

ASP.NET加密口令的方法实例_实用技巧

每当我们要建立数据库驱动的个人化的web站点时,都必须要保护用户的数据.尽管黑客可以盗取个人的口令,然而更严重的问题是有人能够盗走整个数据库,然后立刻就是所有的口令. 原理 有一个好的做法是不将实际的口令存储在数据库中,而是存储它们加密后的版本.当我们需要对用户进行鉴定时,只是对用户的口令再进行加密,然后将它与系统中的加密口令进行比较即可. 在ASP中,我们不得不借助外部对象来加密字符串.而.NET SDK解决了这个问题,它在System.Web.Security名称空间中的FormsAuthe

使用 ASP.NET 加密口令

asp.net|加密   在ASP中,并未提供加密的对象,我们只能使用外部的对象来进行加密.现在好了,在ASP.NET中提供了加密的解决方法.在名字空间System.Web.Security中包含了类FormsAuthentication,其中有一个方法HashPasswordForStoringInConfigFile.这个方法可以将用户提供的字符变成乱码,然后存储起来,甚至可以 存储在cookies中. HashPasswordForStoringInConfigFile方法使用起来很简单,

ASP中加密与解密对应的函数

函数|加密|解密 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数 rsa.asp<%rem 在ASP中实现加密与解密,加密方法:根据RSArem 联系:hnsoso@sina.comClass clsRSA Public PrivateKeyPublic PublicKeyPublic Modulus Public Function Crypt(pLngMessage, pLngKey)On Error Resume NextDim lLngModDi

一段在asp中加密与解密对应的函数

函数|加密|解密 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数 rsa.asp <% rem 在ASP中实现加密与解密,加密方法:根据RSA rem 联系:hnsoso@sina.com Class clsRSA Public PrivateKey Public PublicKey Public Modulus Public Function Crypt(pLngMessage, pLngKey) On Error Resume Next Dim l

网站安全之ASP程序加密/解密方法大揭密

安全|程序|加密|解密 如今,用ASP技术构建的网站随处可见.由于ASP脚本是在服务器上解释执行的(无法编译),因此你辛苦开发出来的ASP代码,很容易被人拷去任意修改,如何保护ASP源代码呢?这是每个ASP站长都会遇到的难题,网上求解这类问题的帖子非常多,下面我们就来谈谈ASP程序的加密方法. 一.如何加密ASP程序? 目前对ASP程序的加密方法主要有三种:脚本编码器(SRCENC.EXE)加密.组件加密.自编程序加密,下面我们就来展开介绍这三种加密方法. 1.使用微软的MS Script En

以前收集的一些资料---使用ASP加密算法加密你的数据(二)

加密|数据|算法          以前收集的一些资料---使用ASP加密算法加密你的数据(二)Julain Sitkewich在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串.下面的代码就是能够同时实现这个功能的函数Crypt.asp文件<% Dim g_Key Const g_CryptThis = "Now is the time for all good men to come to the aid of their country."Co

在asp中加密与解密对应的函数

函数|加密|解密 在ASP中加密方法有对应的解密方法好象不多,现在根据前辈资料整理出在asp中加密与解密函数 rsa.asp<%rem 在ASP中实现加密与解密,加密方法:根据RSArem 联系:hnsoso@sina.comClass clsRSA Public PrivateKey Public PublicKey Public Modulus Public Function Crypt(pLngMessage, pLngKey) On Error Resume Next Dim lLngM

ASP.NET加密技术的应用

asp.net|加密 加密类代码  /**//**//**//**********************Created by Chen************************** *如果你觉得本人的文章好,要引用请尊重著作人的劳动果实,说明 *出处以及原创作者,Thank you!!!   email:aishen944-sohu.com *******************************************************************/ using