public void Challenges_Created_Hash_With_Result_True() { const string USER_NAME = "IAmUser"; const string PASSWORD = "******"; var sut = new SecurePasswordService(); var hashAndSalt = sut.ComputeForUser(USER_NAME, PASSWORD); var result = sut.ChallengePassword(USER_NAME, PASSWORD, hashAndSalt.passwordHash, hashAndSalt.salt); result.ShouldBeTrue(); }
public void Challenges_Invalid_Password_With_Hash_With_Result_False() { const string USER_NAME = "IAmUser"; const string PASSWORD = "******"; const string INVALID_PASSWORD = "******"; var sut = new SecurePasswordService(); var hashAndSalt = sut.ComputeForUser(USER_NAME, PASSWORD); var result = sut.ChallengePassword(USER_NAME, INVALID_PASSWORD, hashAndSalt.passwordHash, hashAndSalt.salt); result.ShouldBeFalse(); }
public void When_The_Same_UserName_and_Password_Provided_Will_Allways_Compute_Different_Hash() { const string USER_NAME = "IAmUser"; const string PASSWORD = "******"; var sut = new SecurePasswordService(); var hash1 = sut.ComputeForUser(USER_NAME, PASSWORD).passwordHash; var hash2 = sut.ComputeForUser(USER_NAME, PASSWORD).passwordHash; ReferenceEquals(hash1, hash2).ShouldBeFalse(); hash1.Length.ShouldBe(hash2.Length); hash1.ShouldNotBe(hash2); // compares elements }
public void Two_Users_With_Same_Password_Will_Have_Different_Hashes() { const string USER_NAME = "IAmUser"; const string USER_NAME_2 = "IAmAnotherUser"; const string PASSWORD = "******"; var sut = new SecurePasswordService(); var hash1 = sut.ComputeForUser(USER_NAME, PASSWORD).passwordHash; var hash2 = sut.ComputeForUser(USER_NAME_2, PASSWORD).passwordHash; ReferenceEquals(hash1, hash2).ShouldBeFalse(); hash1.Length.ShouldBe(hash2.Length); hash1.ShouldNotBe(hash2); // compares elements }