🔒 Criptografia em Node.js – Exemplos Simples
Este repositório contém 3 exemplos básicos de criptografia em JavaScript usando o módulo crypto do Node.js.
📁 Código 1 – AES Simples em Texto
Arquivo: aes-texto.js
Descrição:
Criptografa e descriptografa um texto simples usando o algoritmo AES-256-CBC (criptografia simétrica).
✅ Gera uma chave aleatória e um IV (vetor de inicialização).
✅ Usa crypto.createCipheriv para criptografar e crypto.createDecipheriv para descriptografar.
✅ Exibe o texto original, o criptografado e o texto descriptografado no console.
📁 Código 2 – AES em Arquivos
Arquivo: aes-arquivo.js
Descrição:
Criptografa e descriptografa arquivos, usando o mesmo algoritmo AES-256-CBC.
✅ Lê o arquivo original (arquivo.txt) usando streams do Node.js.
✅ Usa .pipe() para criar um fluxo: lê o arquivo → criptografa → salva em outro arquivo.
✅ Mesma lógica para descriptografia.
✅ Ideal para manipular arquivos de texto ou dados maiores.
📁 Código 3 – Criptografia RSA
Arquivo: rsa.js
Descrição:
Exemplo básico de criptografia e descriptografia com o RSA, um algoritmo de criptografia assimétrica.
✅ Gera um par de chaves RSA (pública e privada).
✅ Usa crypto.publicEncrypt para criptografar um texto com a chave pública.
✅ Usa crypto.privateDecrypt para descriptografar com a chave privada.
✅ Mostra a diferença entre criptografia simétrica (AES) e assimétrica (RSA).
🚀 Conceitos principais
AES (Simétrica)
Mesma chave para criptografar e descriptografar
Ideal para arquivos grandes
Ex.: "createCipheriv', 'createDecipheriv'
RSA (Assimétrica)
Duas chaves diferentes: pública e privada
Ideal para dados pequenos (ex.: senhas)
Ex.: 'publicEncrypt', 'privateDecrypt'
💡 Dicas:
- Antes de executar, garanta que você tenha o Node.js instalado.
- Crie um arquivo de texto de teste (
arquivo.txt) para testar o código de arquivos.
- Rode cada arquivo com
node nomeDoArquivo.js.
👨💻 Estes exemplos são ideais para entender o básico de criptografia em Node.js e como manipular textos e arquivos de forma segura!