private async Task DecryptWithXor(byte[] encryptedPacket, byte[] decryptedPacket)
        {
            var pipe      = new Pipe();
            var decryptor = new XorPipelineDecryptor(new SimpleModulusPipelineDecryptor(pipe.Reader).Reader);
            await pipe.Writer.WriteAsync(encryptedPacket);

            await pipe.Writer.FlushAsync();

            var result = await decryptor.Reader.ReadAsync();

            CollectionAssert.AreEqual(result.Buffer.ToArray(), decryptedPacket);
        }
Exemple #2
0
        private async Task EncryptDecryptWithXor(byte[] unencryptedPacket)
        {
            var pipe      = new Pipe();
            var encryptor = new XorPipelineEncryptor(pipe.Writer);
            var decryptor = new XorPipelineDecryptor(pipe.Reader);

            await encryptor.Writer.WriteAsync(unencryptedPacket);

            await encryptor.Writer.FlushAsync();

            var result = await decryptor.Reader.ReadAsync();

            CollectionAssert.AreEqual(result.Buffer.ToArray(), unencryptedPacket);
        }