在ASP.NET中提供了加密的解决方法。在名字空间System.Web.Security中包含了类FormsAuthentication,其中有一个方法HashPasswordForStoringInConfigFile。这个方法可以将用户提供的字符变成乱码,然后存储起来,甚至可以 存储在cookies中。
HashPasswordForStoringInConfigFile方法使用起来很简单,它支持"SHA1"和"MD5"加密算法。
下面的代码简单的演示了关于其用法:

Code
1 <%@ Page language="c#" %>
2 <%@ Import Namespace="System.Web.Security" %>
3 <html>
4 <head>
5 <script language="C#" runat="server">
6 public void encryptString(Object sender, EventArgs e)
7 {
8 SHA1.Text = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text,"SHA1");
9 MD5.Text =FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassword.Text, "MD5") ;
10 }
11 </script>
12 </head>
13 <body>
14 <form runat="server" ID="Form1">
15 <p>
16 <b>Original Clear Text Password: </b>
17 <br/>
18 <asp:Textbox id="txtPassword" runat="server" />
19 <asp:Button runat="server" text="Encrypt String" onClick="encryptString" ID="Button1" />
20 </p>
21 <p>
22 <b>Encrypted Password In SHA1: </b>
23 <asp:label id="SHA1" runat="server" />
24 </p>
25 <p>
26 <b>Encrypted Password In MD5: </b>
27 <asp:label id="MD5" runat="server" />
28 </p>
29 </form>
30 </body>
31 </html>
32
正如你所看到的这样简单易用。我们可以把这段加密程序封装在一个函数里便于重复的使用。代码如下:

Code
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="";
}
}
MD5的一些应用

Code
string payKey = getPayKey(WebDataParse.TryIntParse(partner, 0));
string signMsgVal = partner + out_orderId + userId + serverId + total_fee + notify_url + payKey;
signMsgVal = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signMsgVal, "md5").ToUpper();
if (signMsgVal == signMsg)
return true;