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); }
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); }