Esempio n. 1
0
        private static async Task PiecewiseDecryptionAsync(string inFile, string outFile, IUbiqCredentials ubiqCredentials)
        {
            using (var cipherStream = new FileStream(inFile, FileMode.Open))
            {
                using (var plainStream = new FileStream(outFile, FileMode.Create))
                {
                    using (var ubiqDecrypt = new UbiqDecrypt(ubiqCredentials))
                    {
                        var plainBytes = ubiqDecrypt.Begin();
                        plainStream.Write(plainBytes, 0, plainBytes.Length);

                        var cipherBytes = new byte[0x20000];
                        int bytesRead   = 0;
                        while ((bytesRead = cipherStream.Read(cipherBytes, 0, cipherBytes.Length)) > 0)
                        {
                            plainBytes = await ubiqDecrypt.UpdateAsync(cipherBytes, 0, bytesRead);

                            plainStream.Write(plainBytes, 0, plainBytes.Length);
                        }

                        plainBytes = ubiqDecrypt.End();
                        plainStream.Write(plainBytes, 0, plainBytes.Length);
                    }
                }
            }
        }
Esempio n. 2
0
        private static async Task SimpleDecryptionAsync(string inFile, string outFile, IUbiqCredentials ubiqCredentials)
        {
            var cipherBytes = File.ReadAllBytes(inFile);
            var plainBytes  = await UbiqDecrypt.DecryptAsync(ubiqCredentials, cipherBytes);

            File.WriteAllBytes(outFile, plainBytes);
        }