public async Task EncryptAsyncTest()
        {
            var rijndaelManaged = new RijndaelManaged();
            _algFactory.Setup(x => x.Create(SymmetricAlgorithmType.Rijndael)).Returns(rijndaelManaged).Verifiable();
            var inBytes = new byte[] {1, 2, 3, 4, 5};
            var service = new SymmetricCryptoService(_algFactory.Object);

            using (var msIn = new MemoryStream(inBytes))
            using (var msOut = new MemoryStream())
            using (var msDec = new MemoryStream())
            {
                await service.EncryptAsync(msIn, msOut, FullKey, SymmetricAlgorithmType.Rijndael);
                var outBytes = msOut.ToArray();
                CollectionAssert.AreNotEqual(inBytes, outBytes);
                using (var rm = new RijndaelManaged())
                using (var cs = new CryptoStream(new MemoryStream(outBytes), rm.CreateDecryptor(Key, IV), CryptoStreamMode.Read))
                {
                    await cs.CopyToAsync(msDec);
                }
                CollectionAssert.AreEqual(inBytes, msDec.ToArray());
            }
        }
 public async Task DecryptAsyncTest()
 {
     var rijndaelManaged = new RijndaelManaged();
     _algFactory.Setup(x => x.Create(SymmetricAlgorithmType.Rijndael)).Returns(rijndaelManaged).Verifiable();
     var inBytes = new byte[] {1, 2, 3, 4, 5};
     var dest = new MemoryStream();
     using (var rm = new RijndaelManaged())
     using (var src = new MemoryStream(inBytes))
     using (var cs = new CryptoStream(dest, rm.CreateEncryptor(Key, IV), CryptoStreamMode.Write))
     {
         await src.CopyToAsync(cs);
     }
     var encrypted = dest.ToArray();
     Assert.AreNotEqual(0, encrypted.Length);
     CollectionAssert.AreNotEqual(inBytes, encrypted);
     var service = new SymmetricCryptoService(_algFactory.Object);
     using (var dec = new MemoryStream())
     {
         await service.DecryptAsync(new MemoryStream(encrypted), dec, FullKey, SymmetricAlgorithmType.Rijndael);
         CollectionAssert.AreEqual(inBytes, dec.ToArray());
     }
 }