| .. | ||
| docs | ||
| aes.js | ||
| bower.json | ||
| cipher-core.js | ||
| CONTRIBUTING.md | ||
| core.js | ||
| crypto-js.js | ||
| enc-base64.js | ||
| enc-hex.js | ||
| enc-latin1.js | ||
| enc-utf8.js | ||
| enc-utf16.js | ||
| evpkdf.js | ||
| format-hex.js | ||
| format-openssl.js | ||
| hmac-md5.js | ||
| hmac-ripemd160.js | ||
| hmac-sha1.js | ||
| hmac-sha3.js | ||
| hmac-sha224.js | ||
| hmac-sha256.js | ||
| hmac-sha384.js | ||
| hmac-sha512.js | ||
| hmac.js | ||
| index.js | ||
| lib-typedarrays.js | ||
| LICENSE | ||
| md5.js | ||
| mode-cfb.js | ||
| mode-ctr-gladman.js | ||
| mode-ctr.js | ||
| mode-ecb.js | ||
| mode-ofb.js | ||
| package.json | ||
| pad-ansix923.js | ||
| pad-iso10126.js | ||
| pad-iso97971.js | ||
| pad-nopadding.js | ||
| pad-pkcs7.js | ||
| pad-zeropadding.js | ||
| pbkdf2.js | ||
| rabbit-legacy.js | ||
| rabbit.js | ||
| rc4.js | ||
| README.md | ||
| ripemd160.js | ||
| sha1.js | ||
| sha3.js | ||
| sha224.js | ||
| sha256.js | ||
| sha384.js | ||
| sha512.js | ||
| tripledes.js | ||
| x64-core.js | ||
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:
var AES = require("crypto-js/aes");
var SHA256 = require("crypto-js/sha256");
...
console.log(SHA256("Message"));
Including all libraries, for access to extra methods:
var CryptoJS = 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 form
require.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
<script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript">
var encrypted = CryptoJS.AES(...);
var encrypted = CryptoJS.SHA256(...);
</script>
API
See: https://code.google.com/p/crypto-js
AES Encryption
Plain text encryption
var CryptoJS = require("crypto-js");
// Encrypt
var ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123');
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoJS.enc.Utf8);
console.log(plaintext);
Object encryption
var CryptoJS = require("crypto-js");
var data = [{id: 1}, {id: 2}]
// Encrypt
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123');
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
console.log(decryptedData);
List of modules
crypto-js/corecrypto-js/x64-corecrypto-js/lib-typedarrays
crypto-js/md5crypto-js/sha1crypto-js/sha256crypto-js/sha224crypto-js/sha512crypto-js/sha384crypto-js/sha3crypto-js/ripemd160
crypto-js/hmac-md5crypto-js/hmac-sha1crypto-js/hmac-sha256crypto-js/hmac-sha224crypto-js/hmac-sha512crypto-js/hmac-sha384crypto-js/hmac-sha3crypto-js/hmac-ripemd160
crypto-js/pbkdf2
crypto-js/aescrypto-js/tripledescrypto-js/rc4crypto-js/rabbitcrypto-js/rabbit-legacycrypto-js/evpkdf
crypto-js/format-opensslcrypto-js/format-hex
crypto-js/enc-latin1crypto-js/enc-utf8crypto-js/enc-hexcrypto-js/enc-utf16crypto-js/enc-base64
crypto-js/mode-cfbcrypto-js/mode-ctrcrypto-js/mode-ctr-gladmancrypto-js/mode-ofbcrypto-js/mode-ecb
crypto-js/pad-pkcs7crypto-js/pad-ansix923crypto-js/pad-iso10126crypto-js/pad-iso97971crypto-js/pad-zeropaddingcrypto-js/pad-nopadding