Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
(encrypt + decrypt).js
const encrypt = (text, email) => {
const iv = crypto.randomBytes(IV_LENGTH)
const cipher = crypto.createCipheriv('aes-256-cbc', new Buffer(ENCRYPTION_KEY), iv)
let encrypted = cipher.update(text)
encrypted = Buffer.concat([encrypted,])
return `${iv.toString('hex')}:${encrypted.toString('hex')}`
const decrypt = (text, email) => {
const textParts = text.split(':')
const iv = new Buffer(textParts.shift(), 'hex')
const encryptedText = new Buffer(textParts.join(':'), 'hex')
const decipher = crypto.createDecipheriv('aes-256-cbc', new Buffer(ENCRYPTION_KEY), iv)
let decrypted = decipher.update(encryptedText)
decrypted = Buffer.concat([decrypted,])
return decrypted.toString()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment