Skip to content

Instantly share code, notes, and snippets.

@alanhoff
Created April 10, 2017 16:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save alanhoff/143f9fa6dbde3efd6ced9212ba10d8ac to your computer and use it in GitHub Desktop.
Save alanhoff/143f9fa6dbde3efd6ced9212ba10d8ac to your computer and use it in GitHub Desktop.
'use strict'
const crypto = require('crypto')
/**
* Encripta dados utilizando o cipher camellia256
* @param {String} data dados a serem encriptados
* @param {String} encoding utf8, base64 ou hex
* @param {String} output base64 ou hex
* @return {String} O resultado da encriptação com o output selecionado
*/
exports.encrypt = (data, encoding = 'utf8', output = 'hex') => {
const cipher = crypto.createCipher('camellia256', process.env.CIPHER_PASSWORD)
const encrypted = cipher.update(data, encoding, output)
return encrypted + cipher.final(output)
}
/**
* Decripta dados utilizando o cipher camellia256
* @param {String} data dados a serem decriptados
* @param {String} encoding utf8, base64 ou hex
* @param {String} output base64 ou hex
* @return {String} O resultado da decriptação com o output selecionado
*/
exports.decrypt = (data, encoding = 'hex', output = 'utf8') => {
const decipher = crypto.createDecipher('camellia256', process.env.CIPHER_PASSWORD)
const decrypted = decipher.update(data, encoding, output)
return decrypted + decipher.final(output)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment