Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jewelsjacobs/1de53989afb9740fde38388349668b0e to your computer and use it in GitHub Desktop.
Save jewelsjacobs/1de53989afb9740fde38388349668b0e to your computer and use it in GitHub Desktop.
[Asymmetric Encryption Sample in Node.js] Encrypt and Decrypt using Password as a key(SECRET_KEY) / Triple-DES. #encryption #nodejs
/*
Asymmetric Encryption Sample in Node.js: Encrypt and Decrypt using Password as a key(SECRET_KEY)
Algorithm: des-ede3-cbc (Three key Triple-DES EDE in CBC mode)
johan@firebase.co
@thepumpkin
*/
var assert = require('assert')
var crypto = require('crypto')
var Buffer = require('buffer').Buffer
var SECRET_KEY = "ChuckN0rrisL1kesPur3D3PapaSuperKey"
var ENCODING = 'hex'
var text = "This is the text to cipher!"
var cipher = crypto.createCipher('des-ede3-cbc', SECRET_KEY)
var cryptedPassword = cipher.update(text, 'utf8',ENCODING)
cryptedPassword+= cipher.final(ENCODING)
var decipher = crypto.createDecipher('des-ede3-cbc', SECRET_KEY)
var decryptedPassword = decipher.update(cryptedPassword, ENCODING,'utf8')
decryptedPassword += decipher.final('utf8')
assert.equal(text, decryptedPassword)
console.log("Crypted Text:", cryptedPassword)
console.log("Decrypted Text:", decryptedPassword)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment