1.0.11 • Published 2 years ago
symmetrical-encryption v1.0.11
Features
AES-256-GCM encryption for high security Automatic salt and IV generation for each encryption operation Key derivation using scrypt for added security against brute-force attacks Customizable encoding for encrypted output Easy-to-use API for encrypting and decrypting strings
Installation
npm install symmetrical-encryptionor:
yarn add symmetrical-encryptionor:
pnpm add symmetrical-encryptionor:
bun install symmetrical-encryptionUsage
Encrypting Data
To encrypt data, provide the plaintext string, your secret key, and optionally specify the output encoding (defaults to Base64).
import { encrypt } from "symmetrical-encryption"
// Prefferably stored more securely; const secretKey = process.env.SECRET_KEY
const secretKey = "your-very-secure-secret-key"
const data = "Hi mom!"
const encryptedData = encrypt(data, secretKey, { encoding: "base64" }) // option object is optional
console.log("Encrypted Data:", encryptedData) // base64 encoded stringDecrypting Data
To decrypt data, provide the encrypted string and your secret key. The function automatically extracts the salt, IV, and authentication tag from the encrypted data.
import { decrypt } from "symmetrical-encryption"
// Prefferably stored more securely; const secretKey = process.env.SECRET_KEY
const secretKey = "your-very-secure-secret-key"
const encryptedData = "..." // The output from the encrypt function
const decryptedData = decrypt(encryptedData, secretKey)
console.log("Decrypted Data:", decryptedData) // "Hi mom!"Note
Valid encoding options are:
type ValidEncodings = "hex" | "base64" | "latin1"License
MIT
Creating new releases
npx changesetnpx changeset version- commit changes to master - it will automatically create a new tag, changelog, and publish to npm