Pular para o conteúdo principal

Como criptografar e descriptografar usando o AES em C# (C Sharp)

Para realizar criptografia e descriptografia usando o algoritmo AES (Advanced Encryption Standard) em C#, você pode usar a classe AesCryptoServiceProvider que faz parte do namespace System.Security.Cryptography. Abaixo, eu fornecerei um exemplo simples de como você pode realizar criptografia e descriptografia usando AES em C#.
 
using System; using System.IO; using System.Security.Cryptography; using System.Text; public class AesExample { public static void Main() { string originalText = "Este é um texto de exemplo para criptografia AES."; // Chave e IV devem ter tamanhos compatíveis com o tamanho do bloco do algoritmo escolhido byte[] key = Encoding.UTF8.GetBytes("chave12345678901"); // 16 bytes para AES-128 byte[] iv = Encoding.UTF8.GetBytes("iv12345678901234"); // 16 bytes para AES-128 // Criptografar o texto byte[] encryptedText = EncryptStringToBytes(originalText, key, iv); // Imprimir o texto criptografado Console.WriteLine("Texto Criptografado: " + Convert.ToBase64String(encryptedText)); // Descriptografar o texto string decryptedText = DecryptStringFromBytes(encryptedText, key, iv); // Imprimir o texto descriptografado Console.WriteLine("Texto Descriptografado: " + decryptedText); } static byte[] EncryptStringToBytes(string plainText, byte[] key, byte[] iv) { using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider()) { aesAlg.Key = key; aesAlg.IV = iv; // Criar um objeto que será usado para criptografar os dados. ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV); // Criar o fluxo de memória para armazenar os dados criptografados. using (MemoryStream msEncrypt = new MemoryStream()) { // Criar um fluxo de criptografia para escrever no fluxo de memória. using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) { // Escrever os dados criptografados no fluxo de criptografia. using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) { swEncrypt.Write(plainText); } } return msEncrypt.ToArray(); } } } static string DecryptStringFromBytes(byte[] cipherText, byte[] key, byte[] iv) { using (AesCryptoServiceProvider aesAlg = new AesCryptoServiceProvider()) { aesAlg.Key = key; aesAlg.IV = iv; // Criar um objeto que será usado para descriptografar os dados. ICryptoTransform decryptor = aesAlg.CreateDecryptor(aesAlg.Key, aesAlg.IV); // Criar um fluxo de memória para armazenar os dados descriptografados. using (MemoryStream msDecrypt = new MemoryStream(cipherText)) { // Criar um fluxo de criptografia para ler do fluxo de memória. using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) { // Criar um leitor para o fluxo de criptografia. using (StreamReader srDecrypt = new StreamReader(csDecrypt)) { // Ler os dados descriptografados do leitor. return srDecrypt.ReadToEnd(); } } } } } }
Certifique-se de ajustar a chave e o IV de acordo com os requisitos de segurança do seu aplicativo. Essa é uma implementação básica e pode ser necessário ajustá-la para atender aos requisitos específicos do seu projeto.

Comentários

Postagens mais visitadas deste blog

Vigilância Global O Olho Que Nunca Dorme

  A pesquisa que revela que mais de 70% dos brasileiros veem a necessidade de regulamentação para o uso de inteligência artificial (IA) levanta questões profundas sobre o equilíbrio entre segurança e liberdade em uma sociedade democrática. Embora a regulação seja frequentemente promovida como um meio de proteger os cidadãos contra abusos tecnológicos, é essencial questionar até que ponto esse controle pode se transformar em um instrumento de restrição das liberdades individuais. A Regulamentação como Ferramenta de Controle A proposta de criação do Sistema Nacional de Regulação e Governança de Inteligência Artificial, liderada pelo presidente do Senado, Rodrigo Pacheco, exemplifica como governos podem usar a justificativa de "proteção" para expandir seu controle sobre tecnologias emergentes. Embora o objetivo declarado seja proteger a sociedade de riscos, como golpes e manipulação eleitoral, a regulamentação excessiva pode facilmente se tornar uma ferramenta de censura e vig...

Arquitetura de um processador

  A arquitetura de um processador refere-se à estrutura interna e ao conjunto de princípios que definem como ele funciona e como processa informações. É o "projeto" que descreve como as diferentes partes do processador interagem e como o processador interage com o resto do sistema. Aqui estão os principais componentes e conceitos envolvidos na arquitetura de um processador: Unidade Central de Processamento (CPU):     Unidade de Controle (CU - Control Unit): Responsável por gerenciar e coordenar todas as operações do processador. Ela interpreta as instruções do programa e direciona outras partes do processador para executar as tarefas necessárias.   Unidade Lógica e Aritmética (ALU - Arithmetic Logic Unit): Realiza operações aritméticas (como adição e subtração) e operações lógicas (como AND, OR, NOT).     Registradores: Pequenas áreas de armazenamento dentro do processador que armazenam dados temporários e instruções durante o processamento. Conjunto de ...

Brasil: Exportador de Golpes Cibernéticos

  O Brasil além de ser um dos países mais afetados por ameaças digitais, ele  também se destaca como um dos principais exportadores de golpes cibernéticos , especialmente na categoria de trojans bancários, que têm migrado das plataformas tradicionais para os dispositivos móveis. Fonte:https://cybermap.kaspersky.com/pt/stats#country=215&type=OAS&period=w Fonte:https://cybermap.kaspersky.com/pt/stats#country=215&type=OAS&period=w Na lista das ameaças mais comuns, os golpes criados no Brasil , como os trojans Banbra , Brats e Basbanke , lideram o ranking e representam quase 60% das tentativas de infecção para celulares na América Latina nos últimos 12 meses. Esse cenário aponta para uma tendência preocupante: segundo especialistas da Kaspersky, os grupos de criminosos brasileiros devem se expandir ainda mais em escala global . Fabio Assolini, diretor da Equipe Global de Pesquisa e Análise da Kaspersky para a América Latina, ressalta: “O cenário de ameaças móveis...