Criptografia TripleDES em C# e .NET Core

0

O .NET fornece classes de alto nível para vários algoritmos de criptografia, tanto simétricos quanto assimétricos. O Data Encryption Standard (DES) é um dos algoritmos de criptografia simétrica que permite que ambas as partes, emissor e receptor, usem a mesma chave para criptografar e descriptografar dados. Recentemente falei sobre AES aqui.

O DES foi desenvolvido pela IBM em 1975. Ele é considerado um algoritmo inseguro devido a seu tamanho de chave de 56 bits e tamanho de bloco de 64 bits. No entanto, o sucessor, Triple DES (3DES) é seguro. TripleDES aplica o algoritmo DES 3 vezes em cada bloco.

A classe TripleDesCryptoServiceProvider fornece a funcionalidade do algoritmo TripleDES. Este artigo demonstra como usar a classe TripleDesCryptoServiceProvider para aplicar o algoritmo DES para criptografar e descriptografar dados em .NET e C#.

As etapas a seguir são necessárias para criptografar dados usando o algoritmo TripleDES:

//Criar TripleDESCryptoServiceProvider
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();  

//Criar o encriptor
ICryptoTransform encryptor = tdes.CreateEncryptor(Chave, IV); 

//Criar o memory stream
MemoryStream ms = new MemoryStream(); 


//Crie um CryptoStream de MemoryStream e Encrypter e grave-o. 

using(CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))  
{  
    using(StreamWriter sw = new StreamWriter(cs))  
    sw.Write(plainText);  
    encrypted = ms.ToArray();  
}  

 

O código fonte completo do programa você pode encontrá-lo em meu Github

Um grande abraço!

Compartilhe.

Sobre o autor

Criador do blog Código Simples e com mais 9 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist. Atuando em funções analista, desenvolvedor, arquiteto, líder técnico e gestor de equipes. Mais informações em : http://jhonathansoares.com