示例#1
0
        public void should_correctly_encrypt_bytes()
        {
            var expectedBytes = new byte[] { 0x01, 0x01, 0x01 };
            var givenBytes = new byte[] { 0x0, 0x03, 0x02 };

            var key = new XORKey(new List<byte> { 0x01, 0x02, 0x03 });

            var encryption = new XOREncryption(key);
            var actualBytes = encryption.EncryptBytes(givenBytes);

            Assert.That(actualBytes, Is.EqualTo(expectedBytes));
        }
示例#2
0
        public void should_correctly_encrypt_byte()
        {
            byte expectedByte = 0x02;
            byte givenByte = 0x03;

            var key = new XORKey(new List<byte> { 0x01 });

            var encryption = new XOREncryption(key);
            var actualByte = encryption.EncryptByte(givenByte);

            Assert.That(actualByte, Is.EqualTo(expectedByte));
        }
示例#3
0
        public void should_correctly_read_encryption_flag()
        {
            byte[] encryptionBytes = { 0xFF, 0xFF };
            var key = new XORKey(new List<byte> { 0x01 });

            var mockStream = MockRepository.GenerateMock<Stream>();

            var encryption = new XOREncryption(key);

            mockStream.Stub(e => e.Read(
                                     Arg<byte[]>.Out(encryptionBytes).Dummy,
                                     Arg<int>.Is.Equal(0),
                                     Arg<int>.Is.Equal(2))).Return(0);

            var result = encryption.IsResourceEncrypted(mockStream);

            Assert.That(result, Is.True);
        }
示例#4
0
 public static void RegisterSimpleXOREncryption()
 {
     var defaultKey = new XORKey(new List<byte> { 0x01 });
     EncryptionFactory.RegisterEncryption(new XOREncryption(defaultKey));
 }
 private IEncryption CreateDefaultEncryption()
 {
     // Rotates key on every action, unless state is reset
     var key = new XORKey(new List<byte> { 0x01, 0x02, 0x03 });
     return new XOREncryption(key);
 }
示例#6
0
 public XOREncryption(XORKey key)
 {
     m_Key = key;
 }