如何使条件等于两个字符串

时间:2019-03-18 19:37:48

标签: c# .net visual-studio

我正在从事ATM大学项目。

当用户在文本框中输入密码时,密码将保存在数据库中。

我想将在文本框中输入的密码与数据库中保存的密码进行比较。我正在从数据库获取密码,但不能输入相等的语句。

代码如下:

SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.Read())
{
    string cus_pin = rdr["pin"].ToString();
    string cus_pin_byuser = textBox1.ToString();

    if (string.Equals(cus_pin, cus_pin_byuser) == true)
    {
        cust_main cm = new cust_main();
        cm.label1.Text = label7.Text;
        cm.label2.Text = label6.Text;
        cm.label4.Text = label8.Text;

        CodeVer codeVer = new CodeVer();

        codeVer.getUserAccountNumber(name);
        codeVer.Show();

        this.Close();
    }
    else
    {
        MessageBox.Show("Invalid Pin");
    }
}

1 个答案:

答案 0 :(得分:4)

我认为您可能在textBox对象上应用了.ToString()。我想您想使用textBox1.Text。

因此代码将变为:

...
string cus_pin = rdr["pin"].ToString()
string cus_pin_byuser = textBox1.Text; 

if (cus_pin == cus_pin_byuser)
...

此外,请注意,将用户密码存储为纯文本确实不安全。请存储其哈希版本。我真的建议阅读OWASP's password storage cheat sheet.