由于我是 asp.net 初学者来回答这个问题,我使用了以下代码,可以帮助您在哪里加密密码并保存到 db,当从 db 检索加密字符串时,然后解密以匹配您的验证密码。以下代码已针对您的 (pwd) 密码进行测试。
设计文件
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" Text="Arslan Ali" runat="server" placeHolder="Enter Password"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Encrypt" OnClick="Button1_Click" /><br />
<asp:Button ID="Button2" runat="server" Text="Decrypt" OnClick="Button2_Click" /><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
</div>
</form>
在您的代码文件中所需的命名空间
using System.Text;
using System.Security.Cryptography;
定义哈希字符串
string hash = @"foxle@rn";
加密
protected void Button1_Click(object sender, EventArgs e)
{
byte[] data = UTF8Encoding.UTF8.GetBytes(TextBox1.Text);
using(MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider())
{
byte[] keys = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
using (TripleDESCryptoServiceProvider tripleDes = new TripleDESCryptoServiceProvider() {Key=keys,Mode=CipherMode.ECB,Padding=PaddingMode.PKCS7 })
{
ICryptoTransform transform=tripleDes.CreateEncryptor();
byte[] results=transform.TransformFinalBlock(data,0,data.Length);
Label1.Text = Convert.ToBase64String(results);
}
}
}
解密
protected void Button2_Click(object sender, EventArgs e)
{
byte[] data = Convert.FromBase64String(Label1.Text);
using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
{
byte[] keys = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(hash));
using (TripleDESCryptoServiceProvider tripleDes = new TripleDESCryptoServiceProvider() { Key = keys, Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7 })
{
ICryptoTransform transform = tripleDes.CreateDecryptor();
byte[] results = transform.TransformFinalBlock(data, 0, data.Length);
Label1.Text = UTF8Encoding.UTF8.GetString(results);
}
}
}
我希望如此,它可能会对你有所帮助,但我要确认,我对加密以及 asp.net 网络表单太初学者了。