FormsAuthentication.HashPasswordForStoringInConfigFile Method

本文介绍如何使用指定的密码和哈希算法生成适用于配置文件存储的哈希密码。通过C#示例展示了如何利用FormsAuthentication类的静态方法HashPasswordForStoringInConfigFile来创建哈希密码值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Produces a hash password suitable for storing in a configuration file based on the specified password and hash algorithm.

Namespace: System.Web.Security
Assembly: System.Web (in system.web.dll)

C#
public static string HashPasswordForStoringInConfigFile (
string password,
string passwordFormat
)
C++
public:
static String^ HashPasswordForStoringInConfigFile (
String^ password,
String^ passwordFormat
)
Parameters
password

The password to hash.

passwordFormat

The hash algorithm to use. passwordFormat is a String that represents one of the FormsAuthPasswordFormat enumeration values.

 

 

Return Value
The hashed password
Remarks

The HashPasswordForStoringInConfigFile method creates a hashed password value that can be used when storing forms-authentication credentials in the configuration file for an application.

Authentication credentials stored in the configuration file for an application are used by the

 

C#
 
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head> <title>ASP.NET Example</title> <script runat="server">
void Cancel_Click(object sender, EventArgs e)
{
userName.Text = "";
password.Text = "";
repeatPassword.Text = "";
result.Text = "";
}

void HashPassword_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string hashMethod = "";

if (md5.Checked)
{
hashMethod = "MD5";
}
else { hashMethod = "SHA1";
}

string hashedPassword =
FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, hashMethod);

result.Text = "&lt;credentials passwordFormat=/"" + hashMethod +"/"&gt;<br />" +
" &lt;user name=/"" + Server.HtmlEncode(userName.Text) + "/" password=/"" +
hashedPassword + "/" /&gt;<br />" + "&lt;/credentials&gt;";
}
else { result.Text = "There was an error on the page.";
}
}
</script>
</head>

<body>
<form id="form1" runat="server">
<p>This form displays the results of the FormsAuthentication.HashPasswordForStoringInConfigFile
method.<br />The user name and hashed password can be stored in a &lt;credentials&gt; node
in the Web.config file.</p>
<table cellpadding="2">
<tbody>
<tr>
<td>New User Name:</td>
<td><asp:TextBox id="userName" runat="server" /></td>
<td><asp:RequiredFieldValidator id="userNameRequiredValidator"
runat="server" ErrorMessage="User name required"
ControlToValidate="userName" /></td>
</tr>
<tr>
<td>Password: </td>
<td><asp:TextBox id="password" runat="server" TextMode="Password" /></td>
<td><asp:RequiredFieldValidator id="passwordRequiredValidator"
runat="server" ErrorMessage="Password required"
ControlToValidate="password" /></td>
</tr>
<tr>
<td>Repeat Password: </td>
<td><asp:TextBox id="repeatPassword" runat="server" TextMode="Password" /></td>
<td><asp:RequiredFieldValidator id="repeatPasswordRequiredValidator"
runat="server" ErrorMessage="Password confirmation required"
ControlToValidate="repeatPassword" />
<asp:CompareValidator id="passwordCompareValidator" runat="server"
ErrorMessage="Password does not match"
ControlToValidate="repeatPassword"
ControlToCompare="password" /></td>
</tr>
<tr>
<td>Hash function:</td>
<td align="center">
<asp:RadioButton id="sha1" runat="server" GroupName="HashType"
Text="SHA1" />
<asp:RadioButton id="md5" runat="server" GroupName="HashType"
Text="MD5" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:Button id="hashPassword" onclick="HashPassword_Click"
runat="server" Text="Hash Password" />&nbsp;&nbsp;
<asp:Button id="cancel" onclick="Cancel_Click" runat="server"
Text="Cancel" CausesValidation="false" />
</td>
</tr>
</tbody>
</table>

<pre><asp:Label id="result" runat="server"></asp:Label></pre>
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值