Pular para o conteúdo principal

Como criptografar e descriptografar usando o AES em JavaScript com biblioteca crypto do Node.js.

O AES (Advanced Encryption Standard) é um algoritmo de criptografia simétrica amplamente utilizado para proteger informações sensíveis. Aqui estão exemplos básicos de como criptografar e descriptografar usando o AES em JavaScript. Observe que esses exemplos usam a biblioteca crypto do Node.js, portanto, eles são destinados a serem executados em ambientes Node.js.
 
const crypto = require('crypto'); // Chave secreta para o AES (deve ter 16, 24 ou 32 bytes) const chaveSecreta = 'chave-secreta-123'; // Substitua isso com uma chave secreta mais segura em um ambiente real // Vetor de inicialização (IV) - necessário para AES const iv = crypto.randomBytes(16); // Função para criptografar usando AES function criptografar(texto) { const cipher = crypto.createCipheriv('aes-256-cbc', Buffer.from(chaveSecreta), iv); let criptografado = cipher.update(texto, 'utf-8', 'hex'); criptografado += cipher.final('hex'); return { iv: iv.toString('hex'), criptografado }; } // Função para descriptografar usando AES function descriptografar(dadosCriptografados) { const decipher = crypto.createDecipheriv('aes-256-cbc', Buffer.from(chaveSecreta), Buffer.from(dadosCriptografados.iv, 'hex')); let descriptografado = decipher.update(dadosCriptografados.criptografado, 'hex', 'utf-8'); descriptografado += decipher.final('utf-8'); return descriptografado; } // Texto original const textoOriginal = 'Hello, World!'; // Criptografar o texto const dadosCriptografados = criptografar(textoOriginal); console.log('Texto Original:', textoOriginal); console.log('Dados Criptografados:', dadosCriptografados); // Descriptografar os dados const textoDescriptografado = descriptografar(dadosCriptografados); console.log('Texto Descriptografado:', textoDescriptografado);
Neste exemplo, crypto.createCipheriv é usado para criar um objeto de cifra para criptografia, e crypto.createDecipheriv é usado para criar um objeto de decifra para descriptografia. O método update é usado para processar os dados e o método final é usado para finalizar o processo. A segurança na criptografia é uma área complexa, e o exemplo acima é apenas uma introdução básica. Em um ambiente de produção, você deve considerar fatores como gerenciamento seguro de chaves, autenticação, integridade dos dados e outras práticas recomendadas de segurança. Além disso, use bibliotecas bem testadas e mantidas para operações criptográficas em vez de implementar suas próprias soluções sempre que possível.

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