JavaScript library of crypto standards.
npm install @usebruno/crypto-jsJavaScript library of crypto standards.
Requirements:
- Node.js
- npm (Node.js package manager)
``bash`
npm install crypto-js
Modular include:
`javascript`
var AES = require("crypto-js/aes");
var SHA256 = require("crypto-js/sha256");
...
console.log(SHA256("Message"));
Including all libraries, for access to extra methods:
`javascript`
var CryptoJS = require("crypto-js");
console.log(CryptoJS.HmacSHA1("Message", "Key"));
Requirements:
- Node.js
- Bower (package manager for frontend)
`bash`
bower install crypto-js
Modular include:
`javascript
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:
`javascript
// 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"));
});
`
`html`
See: https://code.google.com/p/crypto-js
#### Plain text encryption
`javascript
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
`javascript
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);
`
- `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``