public bool AdminResetPassword(string username, string password, string confirmpassword) { if (_db.Users.Any(user => user.Username.Equals(username))) { User user = _db.Users.Where(u => u.Username.Equals(username)).First(); user.Salt = Convert.ToBase64String(RandomSalt.GetRandomSalt(16)); // Get random salt user.Password = Convert.ToBase64String(RandomSalt.SaltHashPassword( Encoding.ASCII.GetBytes(password), Convert.FromBase64String(user.Salt))); _db.Users.Update(user); _db.SaveChanges(); return(true); } return(false); }
public User Register(string username, string password, string firstname, string lastname) { if (_db.Users.Any(user => user.Username.Equals(username))) { return(null); } User userObj = new User(); userObj.Username = username; // Get the username userObj.FirstName = firstname; // Get the first name userObj.LastName = lastname; // Get the last name userObj.Salt = Convert.ToBase64String(RandomSalt.GetRandomSalt(16)); // Get random salt userObj.Password = Convert.ToBase64String(RandomSalt.SaltHashPassword( Encoding.ASCII.GetBytes(password), Convert.FromBase64String(userObj.Salt))); userObj.Role = "Locked"; _db.Users.Add(userObj); _db.SaveChanges(); userObj.Password = ""; return(userObj); }
public bool ResetPassword(string username, string password, string confirmpassword, string existingpassword) { if (_db.Users.Any(user => user.Username.Equals(username))) { User user = _db.Users.Where(u => u.Username.Equals(username)).First(); // Calculate hash password from data of client and compare with hash in server with salt var client_post_hash_password = Convert.ToBase64String(RandomSalt.SaltHashPassword( Encoding.ASCII.GetBytes(existingpassword), Convert.FromBase64String(user.Salt))); if (client_post_hash_password.Equals(user.Password)) { user.Salt = Convert.ToBase64String(RandomSalt.GetRandomSalt(16)); // Get random salt user.Password = Convert.ToBase64String(RandomSalt.SaltHashPassword( Encoding.ASCII.GetBytes(password), Convert.FromBase64String(user.Salt))); _db.Users.Update(user); _db.SaveChanges(); return(true); } return(false); } return(false); }