Ich habe meine Passwörter in meinen ASP.NET-Webforms gehashed.String-Wert in Datenbank einfügen C#
Wie gebe ich dann das Hash-Passwort über einen String in die Datenbank ein?
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();
Ich wusste, dass ich nicht .AddWithValue
und dachte an .ToString
die man verwenden gewesen kann nutzen könnten.
Ich bin neu in C#.
Danke.
"Ich wusste, ich konnte nicht verwenden. AddWithValue" Warum hast du das gedacht? – Amy
Als Randnotiz sollten Sie Ihre 'SqlConnection'- und' SqlCommand'-Anweisungen in 'using'-Blöcken einschließen. – Icemanind
Wenn Sie Ihr Passwort nur an eine Zeichenkette ha- ben und diese Zeichenkette speichern wollen, können Sie einfach 'AddWithValue' verwenden. Was du da oben tust 'cmd.Parameters.ToString (" passwordHash ")' wird nicht viel erreichen, weil die 'ToString()' Methode nur eine (formatierte) Zeichenkette zurückgibt und auch keine interne Zuweisung durchführt Ich werde versuchen, "passwordHash" als Formatzeichenfolge zu verwenden, was nicht viel Sinn macht. – Adwaenyth