Skip to content

Repository files navigation

crypto-js

JavaScript library of crypto standards.

Node.js (Install)

Requirements:

  • Node.js
  • npm (Node.js package manager)
npm install crypto-js

Usage

Modular include:

varAES=require("crypto-js/aes");varSHA256=require("crypto-js/sha256");
...
console.log(SHA256("Message"));

Including all libraries, for access to extra methods:

varCryptoJS=require("crypto-js");console.log(CryptoJS.HmacSHA1("Message","Key"));

Client (browser)

Requirements:

  • Node.js
  • Bower (package manager for frontend)
bower install crypto-js

Usage

Modular include:

require.config({packages: [{name: 'crypto-js',location: 'path-to/bower_components/crypto-js',main: 'index'}]});require(["crypto-js/aes","crypto-js/sha256"],function(AES,SHA256){console.log(SHA256("Message"));});

Including all libraries, for access to extra methods:

// Above-mentioned will work or use this simple formrequire.config({paths: {'crypto-js': 'path-to/bower_components/crypto-js/crypto-js'}});require(["crypto-js"],function(CryptoJS){console.log(CryptoJS.HmacSHA1("Message","Key"));});

Usage without RequireJS

<scripttype="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script><scripttype="text/javascript">varencrypted=CryptoJS.AES(...);varencrypted=CryptoJS.SHA256(...);</script>

API

See: https://code.google.com/p/crypto-js

AES Encryption

Plain text encryption

varCryptoJS=require("crypto-js");// Encryptvarciphertext=CryptoJS.AES.encrypt('my message','secret key 123');// Decryptvarbytes=CryptoJS.AES.decrypt(ciphertext.toString(),'secret key 123');varplaintext=bytes.toString(CryptoJS.enc.Utf8);console.log(plaintext);

Object encryption

varCryptoJS=require("crypto-js");vardata=[{id: 1},{id: 2}]// Encryptvarciphertext=CryptoJS.AES.encrypt(JSON.stringify(data),'secret key 123');// Decryptvarbytes=CryptoJS.AES.decrypt(ciphertext.toString(),'secret key 123');vardecryptedData=JSON.parse(bytes.toString(CryptoJS.enc.Utf8));console.log(decryptedData);

List of modules

  • crypto-js/core
  • crypto-js/x64-core
  • crypto-js/lib-typedarrays

  • crypto-js/md5
  • crypto-js/sha1
  • crypto-js/sha256
  • crypto-js/sha224
  • crypto-js/sha512
  • crypto-js/sha384
  • crypto-js/sha3
  • crypto-js/ripemd160

  • crypto-js/hmac-md5
  • crypto-js/hmac-sha1
  • crypto-js/hmac-sha256
  • crypto-js/hmac-sha224
  • crypto-js/hmac-sha512
  • crypto-js/hmac-sha384
  • crypto-js/hmac-sha3
  • crypto-js/hmac-ripemd160

  • crypto-js/pbkdf2

  • crypto-js/aes
  • crypto-js/tripledes
  • crypto-js/rc4
  • crypto-js/rabbit
  • crypto-js/rabbit-legacy
  • crypto-js/evpkdf

  • crypto-js/format-openssl
  • crypto-js/format-hex

  • crypto-js/enc-latin1
  • crypto-js/enc-utf8
  • crypto-js/enc-hex
  • crypto-js/enc-utf16
  • crypto-js/enc-base64

  • crypto-js/mode-cfb
  • crypto-js/mode-ctr
  • crypto-js/mode-ctr-gladman
  • crypto-js/mode-ofb
  • crypto-js/mode-ecb

  • crypto-js/pad-pkcs7
  • crypto-js/pad-ansix923
  • crypto-js/pad-iso10126
  • crypto-js/pad-iso97971
  • crypto-js/pad-zeropadding
  • crypto-js/pad-nopadding

About

JavaScript library of crypto standards.

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages