public void HashTest(int wordCount) { // Arrange string randomString = Lorem.Sentence(wordCount); // Act var key = KeyHelper.GenerateKey(256); var hash1Md5 = randomString.ComputeMd5Hmac(key); var hash2Md5 = randomString.ComputeMd5Hmac(key); var hash1Sha1 = randomString.ComputeSha1Hmac(key); var hash2Sha1 = randomString.ComputeSha1Hmac(key); var hash1Sha2256 = randomString.ComputeSha2_256Hmac(key); var hash2Sha2256 = randomString.ComputeSha2_256Hmac(key); var hash1Sha2384 = randomString.ComputeSha2_384Hmac(key); var hash2Sha2384 = randomString.ComputeSha2_384Hmac(key); var hash1Sha2512 = randomString.ComputeSha2_512Hmac(key); var hash2Sha2512 = randomString.ComputeSha2_512Hmac(key); _testOutputHelper.WriteLine($"Input String : {randomString}"); _testOutputHelper.WriteLine($"Key : {key.ToBase64String()}"); _testOutputHelper.WriteLine($"MD5 : {hash1Md5.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA1 : {hash1Sha1.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA2 256 : {hash1Sha2256.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA2 384 : {hash1Sha2384.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA2 512 : {hash1Sha2512.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA2 512 (Base64) : {hash1Sha2512.ToBase64String()}"); _testOutputHelper.WriteLine($"SHA2 512 (Hexadecimal) : {hash1Sha2512.ToHexadecimalString()}"); // Assert Assert.Equal(hash1Md5, hash2Md5); Assert.Equal(hash1Sha1, hash2Sha1); Assert.Equal(hash1Sha2256, hash2Sha2256); Assert.Equal(hash1Sha2384, hash2Sha2384); Assert.Equal(hash1Sha2512, hash2Sha2512); }
public void HashTest(int wordCount, int iterationCount1, int iterationCount2, bool hashMatch) { // Arrange string randomString = Lorem.Sentence(wordCount); // Act var key = KeyHelper.GenerateKey(32); var hashUsingPbkdf21 = randomString.HashUsingPbkdf2(key, iterationCount1); var hashUsingPbkdf22 = randomString.HashUsingPbkdf2(key, iterationCount2); // Assert if (hashMatch) { Assert.Equal(hashUsingPbkdf21, hashUsingPbkdf22); _testOutputHelper.WriteLine($"Input String : {randomString}"); _testOutputHelper.WriteLine($"Key : {key.ToBase64String()}"); _testOutputHelper.WriteLine($"PBKDF : {hashUsingPbkdf21.ToBase64String()}"); _testOutputHelper.WriteLine($"PBKDF (Hexadecimal) : {hashUsingPbkdf21.ToHexadecimalString()}"); } else { Assert.NotEqual(hashUsingPbkdf21, hashUsingPbkdf22); _testOutputHelper.WriteLine($"Input String : {randomString}"); _testOutputHelper.WriteLine($"Key : {key.ToBase64String()}"); _testOutputHelper.WriteLine($"PBKDF1 : {hashUsingPbkdf21.ToBase64String()}"); _testOutputHelper.WriteLine($"PBKDF2 : {hashUsingPbkdf22.ToBase64String()}"); } }
public void HashTest_Negative() { // Arrange string randomString1 = Lorem.Sentence(10); string randomString2 = Lorem.Sentence(10); // Act var key = KeyHelper.GenerateKey(256); var hash1 = randomString1.ComputeMd5Hmac(key); var hash2 = randomString2.ComputeMd5Hmac(key); _testOutputHelper.WriteLine($"{randomString1}: {hash1.ToBase64String()}"); _testOutputHelper.WriteLine($"{randomString2}: {hash2.ToBase64String()}"); // Assert Assert.NotEqual(hash1, hash2); }