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.
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.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);
Comentários
Postar um comentário