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:...

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