0
我已經將我的密碼在我的ASP.NET Webforms中進行了哈希處理。將字符串值插入數據庫C#
然後,我該如何通過字符串將哈希密碼輸入到數據庫中?
SqlConnection dbCon = new SqlConnection(ConfigurationManager.ConnectionStrings["ConMotorstore"].ConnectionString);
dbCon.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO [user] VALUES (@firstName, @surname, @email, @username, @passwordHash)", dbCon);
cmd.Parameters.AddWithValue("firstName", firstNameTxt.Text);
cmd.Parameters.AddWithValue("surname", surnameTxt.Text);
cmd.Parameters.AddWithValue("email", emailTxt.Text);
cmd.Parameters.AddWithValue("username", usernameTxt.Text);
string passwordHash = BCrypt.Net.BCrypt.HashPassword(passwordTxt.Text);
cmd.Parameters.ToString("passwordHash");
cmd.ExecuteNonQuery();
我知道我不能用.AddWithValue
和.ToString
思想可能已被使用的。
我是C#的新手。
謝謝。
「我知道我不能使用.AddWithValue」你爲什麼這麼想? – Amy
作爲一個方面說明,你應該在'using'塊中包裝'SqlConnection'和'SqlCommand'語句。 – Icemanind
如果你只是把你的密碼散列到一個字符串並且想存儲該字符串,那麼你的確可以使用'AddWithValue'。你在那裏做的事'cmd.Parameters.ToString(「passwordHash」)'不會有太大的成就,因爲'ToString()'方法只返回一個(格式化的)字符串,並且不會在內部做任何賦值,除此之外將嘗試將「passwordHash」作爲格式字符串,這沒有多大意義。 – Adwaenyth