无法将“方法组”转换为“字符串”

4

非常抱歉打扰到大家。我正在编写一个网站程序,尝试将密码哈希后再存储到数据库中,但是我遇到了错误。我看到一些相关的答案建议使用“.ToString()”,但是当我尝试使用时,似乎会出现更多的错误。非常感谢任何帮助。

 try
            {
                //hashing attempt
                string hashresult = Convert.ToInt32(FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox4.Text.Trim, "SHA1")); //the error is on this line (TextBox4.Text.Trim)
                //.ToString()
                //end


                SqlConnection con = new SqlConnection(strcon);

                if (con.State == System.Data.ConnectionState.Closed)
                {
                    //if its closed the program will open it
                    con.Open();
                }
                //texbox info to SQL
                SqlCommand cmd = new SqlCommand("insert into user_master_tbl(name,email,dob,region,postcode,user_id,password) values(@name,@email,@dob,@region,@postcode,@user_id,@password)", con);
                //connecting textbox to the information typed in
                cmd.Parameters.AddWithValue("@name", TextBox3.Text.Trim());
                cmd.Parameters.AddWithValue("@email", TextBox1.Text.Trim());
                cmd.Parameters.AddWithValue("@dob", TextBox2.Text.Trim());
                cmd.Parameters.AddWithValue("@region", DropDownList1.SelectedItem.Value);
                cmd.Parameters.AddWithValue("@postcode", TextBox6.Text.Trim());
                cmd.Parameters.AddWithValue("@user_id", TextBox9.Text.Trim());
                cmd.Parameters.AddWithValue("@password", hashresult);
                //firing connection to database
                cmd.ExecuteNonQuery();
                con.Close();
                Response.Write("<script>" + "alert('Account created successfully, please proceed to login to your account');" + "</script>");
            }```
1个回答

1
TextBox4.Text.Trim

"...should be:"应该是:
TextBox4.Text.Trim()

整行应该像这样:

这里是内容

string hashresult = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox4.Text.Trim(), "SHA1");

谢谢您的回复,但这只是给了我另一个错误。 - Morgan Keilty
@MorganKeilty 必须称为 Trim()... 那么你的下一个错误是什么? - rfmodulator
@Morgan,你接下来的错误可能是因为你试图将SHA1哈希的文本(40个十六进制字符表示)解析为整数(仅由数字字符组成)。或者也许这是一个警告,提示你正在使用的方法已经过时。 - ProgrammingLlama
@MorganKeilty 不用管了...移除 Convert.ToInt32() 部分即可。 - rfmodulator
1
@Morgan 这个问题或许能帮到你。 - ProgrammingLlama
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接