Guest User

Untitled

a guest
Apr 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. private bool UserExists(string Username, string Password)
  2. {
  3. using (var con = new MySqlConnection(_connectionString))
  4. {
  5. con.Open();
  6. MySqlCommand cmd = con.CreateCommand();
  7. cmd.CommandType = CommandType.Text;
  8. cmd.CommandText =
  9. @"SELECT *
  10. FROM user
  11. WHERE username= @username
  12. AND password= @password";
  13. cmd.Parameters.AddWithValue("@username", bxUserName.Text);
  14. cmd.Parameters.AddWithValue("@password", bxPassword.Text = GenerateSHA256Hash(bxPassword.Text, salt));
  15. cmd.ExecuteNonQuery();
  16. DataTable dt = new DataTable();
  17. MySqlDataAdapter da = new MySqlDataAdapter(cmd);
  18. da.Fill(dt);
  19. using (var reader = cmd.ExecuteReader())
  20. {
  21. return (reader.Read());
  22. }
  23. }
  24. }
  25.  
  26. private void updatePassword()
  27. {
  28.  
  29. String salt = CreateSalt(10);
  30. String hashedpassword = GenerateSHA256Hash(txtPassword.Text, salt);
  31.  
  32. using (var con = new MySqlConnection(_connectionString))
  33. {
  34. con.Open();
  35. MySqlCommand cmd = con.CreateCommand();
  36. cmd.CommandType = CommandType.Text;
  37. cmd.CommandText =
  38. @"UPDATE user
  39. SET password=@password, salt=@salt WHERE username= @username";
  40. cmd.Parameters.AddWithValue("@password", txtPassword.Text = GenerateSHA256Hash(txtPassword.Text, salt));
  41. cmd.Parameters.AddWithValue("@salt", txtPassword.Text = salt);
  42. cmd.Parameters.AddWithValue("@username", txtUserName.Text);
  43. cmd.ExecuteNonQuery();
  44. lblEditPW.Show();
  45. }
  46. }
  47.  
  48. public String GenerateSHA256Hash(String input, String salt)
  49. {
  50. byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input + salt);
  51. System.Security.Cryptography.SHA256Managed sha256hashstring =
  52. new System.Security.Cryptography.SHA256Managed();
  53. byte[] hash = sha256hashstring.ComputeHash(bytes);
  54. var sb = new StringBuilder();
  55. foreach (byte b in hash) sb.AppendFormat("{0:x2}", b);
  56. return sb.ToString();
  57. }
  58.  
  59.  
  60. public String CreateSalt(int size)
  61. {
  62. RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
  63. byte[] buffer = new byte[8];
  64. rng.GetBytes(buffer);
  65. string salt = BitConverter.ToString(buffer);
  66. return Convert.ToBase64String(buffer);
  67. }
Add Comment
Please, Sign In to add comment