Decrypt File - CSharp System.Security.Cryptography

CSharp examples for System.Security.Cryptography:Encrypt Decrypt

Description

Decrypt File

Demo Code


using System.Data.SqlClient;
using System.Data;
using System.Security.Cryptography;
using System.Configuration;
using System.Xml;
using System.Reflection;
using System.IO;/* w  w  w.j  a v a  2  s .  c om*/
using System.Drawing;
using System.Text;
using System.Collections.Generic;
using System.Collections;
using System;

public class Main{
        public static void DecryptFile(string sInputFilename, string sOutputFilename)
        {
            SetKeys();
            
            //Crear una secuencia de archivo para volver a leer el archivo cifrado. 
            FileStream fsRead = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);

            //Crear un descriptor de DES desde la instancia de DES. 
            ICryptoTransform cryptRead = des.CreateDecryptor(key,IV);

            //Crear una secuencia de cifrado para leer y 
            //realizar una transformaci?n de cifrado DES en los bytes de entrada. 
            CryptoStream cryptostreamDecrypter = new CryptoStream(fsRead, cryptRead, CryptoStreamMode.Read);

            //Imprimir el contenido del archivo descifrado. 
            StreamWriter fsDecrypted = new StreamWriter(sOutputFilename);

            String data = new StreamReader(cryptostreamDecrypter).ReadToEnd();

            fsDecrypted.Write(data);
            fsDecrypted.Flush();
            fsDecrypted.Close();
        } // static void DecryptFile(...)
        /// <summary>
        /// Desencripta el archivo especificado
        /// </summary>
        /// <param name="sInputFilename">El archivo a desencriptar</param>
        /// <returns>MemoryStream</returns>
        public static MemoryStream DecryptFile(string sInputFilename)
        {
            SetKeys();
            
            //Crear una secuencia de archivo para volver a leer el archivo cifrado. 
            FileStream fsread = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);

            //Crear un descriptor de DES desde la instancia de DES. 
            ICryptoTransform desdecrypt = des.CreateDecryptor(key, IV);

            //Crear una secuencia de cifrado para leer y 
            //realizar una transformaci?n de cifrado DES en los bytes de entrada. 
            CryptoStream cryptostreamDecr = new CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read);

            //Imprimir el contenido del archivo descifrado. 
            StreamReader sr = new StreamReader(cryptostreamDecr);
            byte[] buff = Encoding.ASCII.GetBytes(sr.ReadToEnd());

            fsread.Flush();
            fsread.Close();
            fsread.Dispose();
            sr.Close();
            sr.Dispose();

            return new MemoryStream(buff);
        } // static MemoryStream DecryptFile(...)
}

Related Tutorials