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!