json-crypto
Easy to use abstraction on top of Node's native crypto
module to safely encrypt and decrypt JSON objects.
Installation
npm install json-crypto
Usage
const createKey createCodec = ; // Create a random encryption keyconst key = ; // Create our codec with { encrypt, decrypt }const codec = ; // Encrypt a JSON object and return the ciphertextconst ciphertext = codec // Decrypt the ciphertext back into a JSON objectconst secret = codec// secret === { message: 'my secret message' }
NB: You'll probably want to persist the generated key and store it somewhere safe.
Benefits
- Safe by nature (only uses native
crypto
functions) - Safer by forcing you to use unique nonces (see why it matters)
- Easy to use interface for JSON objects
- Ciphertexts are valid URL query argument strings (using encodeURIComponent)