public void TestWithSalt() { // Arrange var testString = "Das ist ein Test für den MD5 hash Generator"; var salt = new byte[] { 154, 228, 143, 209, 192, 28, 199, 85, 81, 163, 143, 106, 198, 91, 229, 193 }; // Act var md5 = CryptographyService.CreateMd5(testString); var salted = CryptographyService.BitwiseXOr(md5, salt); var saltedMd5 = CryptographyService.CreateMd5(salted); var saltedMd5Hex = CryptographyService.CreateHexStringFromByteArray(saltedMd5); // Assert Assert.AreEqual("61D239E7D679F92B9DECC1F4095BC545", saltedMd5Hex); }
public void BitwiseOrOnly1And1() { // Arrange byte[] a = new byte[] { 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111 }; byte[] b = new byte[] { 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111, 0b11111111 }; // Act byte[] result = CryptographyService.BitwiseXOr(a, b); // Assert byte[] expected = new byte[] { 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000, 0b00000000 }; CollectionAssert.AreEqual(expected, result); }