Add credential verification helpers
This commit is contained in:
parent
40c4faf82b
commit
8b373ebfe8
2 changed files with 108 additions and 36 deletions
|
|
@ -13,7 +13,7 @@ namespace Tests.Helpers
|
|||
internal class SecurityHelperTests
|
||||
{
|
||||
private const string Password = "TestPassword";
|
||||
private static readonly byte[] Salt = SecurityHelper.GetSalt();
|
||||
private static readonly byte[] Salt = SecurityHelper.GetRandomBytes(32);
|
||||
|
||||
[Test]
|
||||
public void CompareHashedPassword_WithSamePassword_ShouldReturnTrue()
|
||||
|
|
@ -82,6 +82,28 @@ namespace Tests.Helpers
|
|||
Assert.AreEqual(password1.Hash, password2.Hash);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void VerifyPbkdf2_WithPersistedCredential_ReturnsExpectedResult()
|
||||
{
|
||||
var credential = SecurityHelper.Pbkdf2(Password, Salt);
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(SecurityHelper.VerifyPbkdf2(Password, credential.Hash, credential.Salt), Is.True);
|
||||
Assert.That(SecurityHelper.VerifyPbkdf2("WrongPassword", credential.Hash, credential.Salt), Is.False);
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void HashOpaqueSecret_WithSameSecret_ReturnsStableDigest()
|
||||
{
|
||||
var first = SecurityHelper.HashOpaqueSecret("opaque-secret");
|
||||
var second = SecurityHelper.HashOpaqueSecret("opaque-secret");
|
||||
|
||||
Assert.That(first, Is.EqualTo(second));
|
||||
Assert.That(first, Is.Not.EqualTo("opaque-secret"));
|
||||
}
|
||||
|
||||
//[Test]
|
||||
//public void GetPassword_WithPBKDF2Algorithm_ShouldReturnValidPasswordObject()
|
||||
//{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue