public void HelixFileDecryptor_DecryptHeaderOnlyLargeFile() { byte[] b = new byte[50000]; System.Security.Cryptography.RandomNumberGenerator.Create().GetBytes(b); byte[] enc; using (MemoryStream originalContent = new MemoryStream(b, 0, b.Length)) using (MemoryStream encryptedStream = new MemoryStream()) using (var encryptor = new HelixFileEncryptor(encryptedStream, DerivedBytesProvider.FromPassword("password"), HelixFileVersion.UnitTest)) { encryptor.WriteHeader(new FileEntry()); encryptor.WriteContent(originalContent); encryptor.FlushFinalBlock(); enc = encryptedStream.ToArray(); Assert.IsTrue(enc.Length > 50000); } using (MemoryStream encryptedStream = new MemoryStream(enc, true)) using (var decryptor = new HelixFileDecryptor(encryptedStream)) { decryptor.Initialize(DerivedBytesProvider.FromPassword("password")); var header = decryptor.ReadHeader(); Assert.IsNotNull(header); decryptor.Dispose(); } }