如何成功实现Salt_HAshed密码登录

时间:2016-11-04 12:00:16

标签: c#

我在使用盐哈希密码编写的页面中遇到困难。实际上,代码会生成一个32字节的随机盐,它会添加到输入密码的文本中。然后计算它的散列并存储在表中。然而,当一个人必须登录时,他输入密码的文本用相同的盐加盐,然后用相同的哈希函数进行哈希处理。如果检测到匹配,则授予登录,否则登录被拒绝。我很难实现这一点。

请帮助。我的代码在下面

con.Open();
string salt = SaltF(32);
string Md = @"select Username, SH from SecureUser where Username= @usrn and SH= @sh";

SqlParameter usrname = new SqlParameter();
usrname.ParameterName = "@usrn";
usrname.Value = comboBox1.Text;
SqlParameter Sha = new SqlParameter();
Sha.ParameterName = "@sh";
Sha.Value = SaltHashF(salt, textBox2.Text);

SqlCommand cmdLd = new SqlCommand(Md, con);
cmdLd.Parameters.Add(usrname);
cmdLd.Parameters.Add(Sha);

SqlDataReader dr;
int K = 0;
dr = cmdLd.ExecuteReader();
while(dr.Read())
{
    K++;
}

if (K==1)
{
    con.Close();
    MessageBox.Show("Login Successful", " ", MessageBoxButtons.OK, MessageBoxIcon.Information);
    textBox2.Clear();
    ChangePasswordPlatform cpp = new ChangePasswordPlatform();
    cpp.Tag = this;
    cpp.Show(this);
    Hide();
}
else
{
    MessageBox.Show("Invalid username or password", " ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    textBox2.Clear();
}

0 个答案:

没有答案