Following googlecode project crypto-js, provide standard and secure cryptographic algorithms for NodeJS. Support MD5, SHA-1, SHA-256, RC4, Rabbit, AES, DES, PBKDF2, HMAC, OFB, CFB, CTR, CBC, Base64
JavaScript CoffeeScript
Latest commit c3c843c Jul 21, 2012 @gwjjeff Merge pull request #1 from freewil/pbkdf2-tests
add PBKDF2 tests
Failed to load latest commit information.
lib add js library files Jan 13, 2012
test add PBKDF2 tests Mar 25, 2012 Add syntax highlighting to readme Jul 20, 2012
cryptojs.js rename index.js to cryptojs.js Jan 14, 2012
package.json rename index.js to cryptojs.js Jan 14, 2012


  • with little modification, converted from googlecode project crypto-js, and keep the source code structure of the origin project on googlecode
  • source code worked in both browser engines and node scripts. see also:
  • inspiration comes from ezcrypto, but my tests cannot pass with his version ( ECB/pkcs7 mode ), so I made it myself


npm install cryptojs

usage (example with coffee-script)

Crypto = (require 'cryptojs').Crypto
key = '12345678'
us = 'Hello, 世界!'

mode = new Crypto.mode.ECB Crypto.pad.pkcs7

ub = Crypto.charenc.UTF8.stringToBytes us
eb = Crypto.DES.encrypt ub, key, {asBytes: true, mode: mode}
ehs= Crypto.util.bytesToHex eb

eb2= Crypto.util.hexToBytes ehs
ub2= Crypto.DES.decrypt eb2, key, {asBytes: true, mode: mode}
us2= Crypto.charenc.UTF8.bytesToString ub2
# should be same as the var 'us'
console .log us2