public void VerifyPasswordTest(string password) { var hash = _passwordProvider.CreatePasswordHash(password); var isVerify = _passwordProvider.VerifyPasswordHash(password, hash); Assert.IsTrue(isVerify); }
public async Task ChangePassword(string email, string oldPassword, string newPassword, string retypedNewPassword) { var user = await UserValidation(email); var computedPassword = _passwordProvider.CreatePasswordHash(oldPassword, user.PasswordSalt); var userPassword = ComputedPassword.Create(user.PasswordHash, user.PasswordSalt); if (userPassword != computedPassword) { throw new ArgumentException("The given old password does not fit to the current user password"); } if (newPassword != retypedNewPassword) { throw new ArgumentException("The new password is different than retyped new password"); } SetPasswordForUser(user, newPassword); UserRepository.Update(user); await _unitOfWork.CompleteAsync(); }