私は簡単なC#のWindowsフォームを使用してログインしますが、ユーザーのパスワードを変更するフォームもあります。ユーザーのパスワードの検証と変更
[パスワードの変更]をクリックすると、フォームに現在のパスワードのテキストボックス、新しいパスのパスと新しいパスの確認、および1つの保存ボタンが表示されます。
データベースから有効であるかどうかを確認できるように、私はラベルにusernameを保存しています。
私は私がこれまでに次のようにコードがあるのMicrosoft SQL Serverで2008
を作成したテーブルにこれらを格納しています。
SqlConnection connect = new SqlConnection(str);
connect.Open();
string username = label_username.Text;
string password = textBox_Current.Text;
string newPassword = textBox_New.Text;
string confirmPassword = textBox_Verify.Text;
string sqlquery = "UPDATE [Member] SET [email protected] where [email protected]";
SqlCommand cmd = new SqlCommand(sqlquery, connect);
cmd.Parameters.AddWithValue("@newpass", textBox_Verify.Text);
cmd.Parameters.AddWithValue("@username", label_username.Text);
cmd.Parameters.AddWithValue("@password", textBox_Current.Text);
cmd.Connection = connect;
cmd.ExecuteNonQuery();
sqlDataReader reader = null;
reader = cmd.ExecuteReader();
while (reader.Read())
{
if ((textBox_New.Text == reader["newPassword"].ToString()) & (textBox_Verify.Text == (reader["confirmPassword"].ToString()))) { }
}
MessageBox.Show("Password Changed Successfully!");
this.Close();
上記のコードの実行中に、パスワードの変更が、私がしたい:
- ユーザーが現在のパスワードに間違ったパスワードを入力した場合などのチェックの検証。
- newpasswordとパスワードを確認してください。
- ユーザーが
「とパスワードを入力してください」どのようにこれを行うことができますか?というメッセージを与える必要があり、最初のデータベースに保存しないでください下の空白のパスワードを保存する上でクリックしたとき
はプレーンテキストでパスワードを保存しないのに役立ちます。代わりに、安全なハッシュを使用してください。 – SLaks
あなたはこれらのパスワードをハッシュしていますが、私たちの利益のためにパスワードを単純化しましたか?右!? –
メンバーシップ認証だけを使用することをお勧めします。APIとすべてが付属しています。ホイールを再発明する必要はありません。 – BrokenGlass