Module built-in crypto bọc OpenSSL, gom các nhóm nguyên thủy mật mã:
- Hashing —
createHash('sha256'): băm một chiều, không khóa. Dùng cho checksum/toàn vẹn dữ liệu. - HMAC —
createHmac('sha256', key): băm có khóa bí mật, để xác thực rằng dữ liệu do bên biết khóa tạo ra (verify webhook, ký token). - Mã hóa đối xứng —
createCipheriv/createDecipheriv(vd AES-256-GCM): mã hóa/giải mã bằng cùng một khóa + IV. - Bất đối xứng —
generateKeyPair,sign/verify,publicEncrypt(RSA/EC). - Ngẫu nhiên & KDF —
randomBytes,randomUUID,scrypt/pbkdf2để dẫn xuất khóa.
Lưu ý: mật khẩu KHÔNG dùng createHash trơn — hãy dùng KDF có salt như scrypt/pbkdf2 (hoặc bcrypt/argon2). Hash để kiểm tra toàn vẹn, KDF để lưu mật khẩu.