コード例 #1
0
        public void Unencrypt_GivenHexEncodedString_ReturnUnEncryptedPlaintext()
        {
            // Arrange
            var secretHex = "1b37373331363f78151b7f2b783431333d78397828372d363c78373e783a393b3736";
            var expected  = "Cooking MC's like a pound of bacon";

            var convertor      = new ConvertHex();
            var secretHexBytes = convertor.HexStringToByteArray(secretHex);
            // Act

            ResultItem res = _xorCipher.GetUnencryptedText(secretHexBytes);

            // Assert
            res.Text.Should().Be(expected);
        }
コード例 #2
0
        public void GetFixedXOR_GivenHexStrings_GivesGoodXOR()
        {
            // Arrange
            const string STRING1  = "1c0111001f010100061a024b53535009181c";
            const string STRING2  = "686974207468652062756c6c277320657965";
            const string EXPECTED = "746865206b696420646f6e277420706c6179";

            var convertor = new ConvertHex();

            byte[] str1AsBytes = convertor.HexStringToByteArray(STRING1);
            byte[] str2AsBytes = convertor.HexStringToByteArray(STRING2);

            // Act
            var result = _fixedXOR.XOR(str1AsBytes, str2AsBytes);

            // Assert
            result.Should().Be(EXPECTED);
        }
コード例 #3
0
 public DetectSingleCharacterXOR(ISingleByteXORCipher xorCipher, ConvertHex convertHex)
 {
     _xorCipher  = xorCipher;
     _convertHex = convertHex;
 }