Pular para o conteúdo principal

Criptografar arquivo txt C#


Segue exemplo de como encriptar e descriptar um texto utilizando TripleDES no C#.

using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;

class TripleDESSample
{

    static void Main()
    {
        try
        {            
            //Cria um novo objeto TripleDES para gerar a chave e o vetor de inicialização.
            TripleDES TripleDESalg = TripleDES.Create();

//cria o texto para encriptar            
            string sData = "Dados para encriptar.";
            string FileName = "fileEncript.txt";

            // Encripta o texto e grava em um arquivo.
            EncryptTextToFile(sData, FileName, TripleDESalg.Key, TripleDESalg.IV);

            // Decripta o texto do arquivo.
            string Final = DecryptTextFromFile(FileName, TripleDESalg.Key, TripleDESalg.IV);

            // exibe a string decriptada na janela console.
            Console.WriteLine(Final);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }

    }

    public static void EncryptTextToFile(String Data, String FileName, byte[] Key, byte[] IV)
    {
        try
        {
            // cria ou abre o arquivo.
            FileStream fStream = File.Open(FileName,FileMode.OpenOrCreate);

            // cria o objeto TripleDES.
            TripleDES tripleDESalg = TripleDES.Create();

            // Cria o CryptoStream usando o FileStream 
            // e passa a key e o IV.
            CryptoStream cStream = new CryptoStream(fStream, 
                tripleDESalg.CreateEncryptor(Key,IV), 
                CryptoStreamMode.Write); 

            // Cria um StreamWriter usando o CryptoStream.
            StreamWriter sWriter = new StreamWriter(cStream);

            // Escreve os dados encriptado no arquivo.
            sWriter.WriteLine(Data);

            // Fecha os streams.
            sWriter.Close();
            cStream.Close();
            //Fecha o arquivo.
            fStream.Close();
        }
        catch(CryptographicException e)
        {
            Console.WriteLine("Erro na Criptografia: {0}", e.Message);
        }
        catch(UnauthorizedAccessException  e)
        {
            Console.WriteLine("Erro no acesso ao arquivo: {0}", e.Message);
        }

    }

    public static string DecryptTextFromFile(String FileName, byte[] Key, byte[] IV)
    {
        try
        {
            // cria ou abre o arquivo encriptado. 
            FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);

            // Cria o objeto TripleDES.
            TripleDES tripleDESalg = TripleDES.Create();
            
            CryptoStream cStream = new CryptoStream(fStream, 
                tripleDESalg.CreateDecryptor(Key,IV), 
                CryptoStreamMode.Read); 

            // Cria o StreamReader usando o CryptoStream.
            StreamReader sReader = new StreamReader(cStream);

            // Ler os dados do stream decryptado. 
            string val = sReader.ReadLine();

            // fecha os streams            
            sReader.Close();
            cStream.Close();
            //fecha o arquivo
            fStream.Close();

            // retorna o texto. 
            return val;
        }
        catch(CryptographicException e)
        {
            Console.WriteLine("Erro na Criptografia: {0}", e.Message);
            return null;
        }
        catch(UnauthorizedAccessException  e)
        {
            Console.WriteLine("Erro no acesso ao arquivo: {0}", e.Message);
            return null;
        }
    }
}

Comentários

Postagens mais visitadas deste blog

A batalha por uma SafeKid (Unicamp)

Figura 1 - Cadeira Safekid (Unicamp) Nas consultas usando a ferramenta de busca do Google obtive os seguintes link para a tal cadeira. 1- http://revistacrescer.globo.com/Crescer/0,19125,EFC1010380-2213-2,00.html 2- http://www.ibiubi.com.br/produtos/cadeira-cinto-de-seguran%c3%a7a-safekid-projetado-pela-unicamp+beb%c3%aas-e-crian%c3%a7as+cadeiras/IUID4138740/ 3- http://compras.hsw.uol.com.br/assento-infantil-guia.htm 4- http://produto.mercadolivre.com.br/MLB-123086053-cadeiracinto-de-seguranca-safekid-projetado-pela-unicamp-_JM a própria! só que venda finalizada. Foi então que resolvi procurar no Bing (Microsoft) www.bing.com. Também não encontrei! Rs Encontrei algumas parecidas a preços imbatíveis, mas fora do país. 1- http://www.magazineluiza.com.br/produto/index_Produto.asp?Produto=1766074&linha=BB&Setor=CADA&modelo=08 2- http://www.precomania.com/search_attrib.php/page_id=1990/st=page/page=1 Mas foi no Yahoo buscas que eu encontrei a dita cuja. Quero dizer, um possível ...

Driver para Receptor de TV Digital da Multilaser RE003

Email recebido da central de atendimento da Multilaser para resolver problema de funcionamento do receptor digital em Windows 7. --------------------------------------------------------------------------------- Prezado(a) Cliente, Primeiramente pedimos desculpas por quaisquer transtornos causados. Segue anexo manual passo a passo para a instalação do RE003. Conseguimos desenvolver um novo software para o aparelho, pois o enviado no cd não estava conseguindo localizar canais. Peço a gentileza de seguir o passo a passo e me informar se conseguiu utilizar o produto. Os drivers que irá precisar estão disponíveis no link http://tinyurl.com/j3w3svn Os drivers que irá precisar estão disponíveis no link  http://tinyurl.com/j3w3svn Os drivers que irá precisar estão disponíveis no link  http://tinyurl.com/j3w3svn Instale os drivers e o software Presto! Serial: EVALUATION

EmguCV DLL Not Found Exception -Unable to find cvextern?

Eu também tive os mesmos problemas. Neste fórum emgucv , não sei por que cvextern.dlldo emgucv 3.4.3 não é possível carregar cvextern (porque não é possível encontrar cvextern), e você permitiu usar o arquivo cvextern.dlldo emgucv 3.4.2 (certifique-se de escolher x64 / x86), copie /bin/Debuge este arquivo é encontrado automaticamente /bin/Debug/x86ou /bin/Debug/x64quando você termina de construir o programa no Visual Studio.  O Erro:  The type initializer for 'Emgu.CV.CvInvoke' threw an exception. : Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)  Para resolver o problema copia a pasta x64 ou x86 para dentro da pasta bin da aplicação. Ou copie os arquivos para dentro da pasta bin da aplicação WCF.