为了更好地处理这个问题,我给大伙儿提供一个简易好用,可是俗套的方法,便是口令加密。在这里大家应用ASP.NET技术性对口令加密。简易的讲,便是将客户提供的口令加密以后,随后让它和储放于系统软件中的数据信息较为,假如同样,则根据认证。
在ASP中,仍未提供加密的目标,大家只有应用外界的目标来开展加密。如今好啦,在ASP.NET中提供了加密的处理方法。在姓名室内空间System.Web.Security中包括了类FormsAuthentication,在其中有一个方法HashPasswordForStoringInConfigFile。这一方法能够 将客户提供的标识符变为错码,随后储存起來,乃至能够 储存在cookies中。
HashPasswordForStoringInConfigFile方法应用起來非常简单,它适用"SHA1"和"MD5"加密优化算法。
下边的编码简易的演试了有关其用法:
<%@ Page language="c#" %>
<%@ Import Namespace="System.Web.Security" %>
<html>
<head>
<script language="C#" runat="server">
public void encryptString(Object sender, EventArgs e)
{
SHA1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text,"SHA1");
MD5.Text =FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "MD5") ;
}
</script>
</head>
<body>
<form runat="server" ID="Form1">
<p>
<b>Original Clear Text Password: </b>
<br>
<asp:Textbox id="txtPassword" runat="server" />
<asp:Button runat="server" text="Encrypt String" onClick="encryptString" ID="Button1" />
</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> 
如同你所见到的那样简易实用。我们可以把这一段加密程序流程封裝在一个涵数里有利于反复的应用。编码以下:
public string EncryptPassword(string PasswordString,string PasswordFormat )
{
if (PasswordFormat="SHA1"){
EncryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"SHA1");
}
elseif (PasswordFormat="MD5")
{ EncryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"MD5");
}
else
{
EncryptPassword="";
}
我们可以在数据库查询中加上一个字段名,应用insert将加密的口令做为一个string存进数据库查询中。当用户登陆的情况下,就可以将客户键入的口令加密結果和数据库查询中的恰当結果较为,根据这类方法来认证口令的准确性了。在这里,我不向下写了,有关数据库查询的专业知识还得阅读者自身去学。