Esempio n. 1
0
        public Stream DecryptFileToStream(string name, Stream stream)
        {
            string fileName = Path.GetFileNameWithoutExtension(name);

            if (fileName.Length != 32)
            {
                throw new ArgumentException("Invalid file name", nameof(name));
            }

            byte[] IV = fileName.Substring(16).FromHexString();

            using (ICryptoTransform decryptor = KeyService.SalsaInstance.CreateDecryptor(_key, IV))
                using (CryptoStream cs = new CryptoStream(stream, decryptor, CryptoStreamMode.Read))
                {
                    return(cs.CopyToMemoryStream());
                }
        }