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

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.

Rastreador Tag Bluetooth MiTag Android

Configuração e Rastreamento com Mi Tag O vídeo apresenta uma solução de rastreamento de equipamentos por meio de uma tag chamada MiTag, que foi comprada no AliExpress. O comunicador explica que esta tag funciona sem a necessidade de internet ou chip, utilizando a rede Bluetooth de outros celulares próximos para propagar sua localização até o aplicativo no celular do usuário. O vídeo demonstra o processo de configuração inicial da tag com o aplicativo Google Finder Hub, que é o localizador do Google, exclusivo para Android. Por fim, o tutorial também mostra como desinstalar e resetar a MiTag, um processo necessário caso o usuário queira emparelhar o dispositivo com um celular diferente, já que a tag fica bloqueada após a primeira conexão. https://youtu.be/mm1Z5lus7ag ## Funcionalidades Essenciais da Mi Tag As principais funcionalidades da Mi Tag giram em torno da capacidade de rastreamento independente e de longa duração: 1. **Rastreamento Sem Necessidade de Internet ou Chip:...

Comerciante ou Loja que não emite nota fiscal com CPF do consumidor

Aqui vai uma dica para você consumidor. Alguns comerciantes do DF não estão emitindo a nota fiscal com o CPF do consumidor. Essa prática é ilegal, já que existe uma lei desde 2008 obrigando o comerciante a emitir tal documento. A obrigatoriedade da emissão da Nota Fiscal Eletrônica está prevista na cláusula 2ª do Protocolo ICMS 42/2009, alterado pelo Protocolo ICMS 196/2010, que determina a substituição da nota fiscal impressa pela NF-e. A decisão do Confaz foi publicada no Diário Oficial da União em 13 de dezembro passado. ( http://www.fazenda.gov.br/confaz/confaz/protocolos/ICMS/2009/pt042_09.htm ) Se você é uma das pessoas que tem pedido a nota legal e não tem sido atendida, agora você poderá reclamar direto na Secretaria da Fazenda pelo telefone 156 . O consumidor poderá reclamar de estabelecimento que não emitem nota, como também dos que emitem e não enviam o documento a secretaria. Corra atrás! Quando o comerciante emite e envia o documento para a secretaria, todos sa...