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);
        }
예제 #2
0
        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);
        }