Monorepo educativo con ejemplos prácticos de conceptos de criptografía implementados en Node.js usando el módulo nativo crypto.
| # | Proyecto | Descripción |
|---|---|---|
| 01 | Hashing | Funciones hash (SHA-256, MD5), HMAC y verificación de integridad |
| 02 | Cifrado Simétrico | AES-256 en modos CBC y GCM, derivación de claves con PBKDF2 |
| 03 | Cifrado Asimétrico | RSA: generación de claves, cifrado/descifrado, firma digital y cifrado híbrido |
| 04 | JWT | JSON Web Tokens: creación, verificación, access tokens y refresh tokens |
- Node.js >= 18 (todos los ejemplos usan el módulo
node:cryptonativo, sin dependencias externas)
Cada subproyecto es independiente. Entra en el directorio y ejecuta los ejemplos:
# Hashing
cd 01-hashing
npm start
# Cifrado simétrico
cd 02-symmetric-encryption
npm start
# Cifrado asimétrico
cd 03-asymmetric-encryption
npm start
# JWT
cd 04-jwt
npm startTambién puedes ejecutar cada ejemplo individualmente:
node 04-jwt/src/jwt-create.js
node 01-hashing/src/basic-hash.js
node 02-symmetric-encryption/src/aes-gcm.js
node 03-asymmetric-encryption/src/digital-signature.jsnode-encryption/
├── README.md
├── 01-hashing/
│ ├── README.md
│ ├── package.json
│ └── src/
│ ├── basic-hash.js
│ ├── hmac.js
│ └── verify-integrity.js
├── 02-symmetric-encryption/
│ ├── README.md
├── 03-asymmetric-encryption/
│ ├── README.md
│ ├── package.json
│ └── src/
│ ├── keypair-generation.js
│ ├── encrypt-decrypt.js
│ └── digital-signature.js
└── 04-jwt/
├── README.md
├── package.json
└── src/
├── jwt-create.js
├── jwt-verify.js
└── jwt-refresh
├── package.json
└── src/
├── keypair-generation.js
├── encrypt-decrypt.js
└── digital-signature.js