Skip to content

Instantly share code, notes, and snippets.

@adrianbravo
Created September 22, 2011 00:08
Show Gist options
  • Save adrianbravo/1233693 to your computer and use it in GitHub Desktop.
Save adrianbravo/1233693 to your computer and use it in GitHub Desktop.
Basic Node.js crypto cipher/decipher example.
var crypto = require('crypto')
, key = 'salt_from_the_user_document'
, plaintext = 'password'
, cipher = crypto.createCipher('aes-256-cbc', key)
, decipher = crypto.createDecipher('aes-256-cbc', key);
cipher.update(plaintext, 'utf8', 'base64');
var encryptedPassword = cipher.final('base64')
decipher.update(encryptedPassword, 'base64', 'utf8');
var decryptedPassword = decipher.final('utf8');
console.log('encrypted :', encryptedPassword);
console.log('decrypted :', decryptedPassword);
@arendondiosa
Copy link

TypeError: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length

Note: This error appears when the Decrypt function receives other string different to the encrypted string 😄 👊
Source: It just occurred to me

@omartrigui
Copy link

@dkhonig Agree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment