pengjing 712c4504c6 添加项目文件。 10 місяців тому
..
docs 712c4504c6 添加项目文件。 10 місяців тому
CONTRIBUTING.md 712c4504c6 添加项目文件。 10 місяців тому
LICENSE 712c4504c6 添加项目文件。 10 місяців тому
README.md 712c4504c6 添加项目文件。 10 місяців тому
aes.js 712c4504c6 添加项目文件。 10 місяців тому
bower.json 712c4504c6 添加项目文件。 10 місяців тому
cipher-core.js 712c4504c6 添加项目文件。 10 місяців тому
core.js 712c4504c6 添加项目文件。 10 місяців тому
crypto-js.js 712c4504c6 添加项目文件。 10 місяців тому
enc-base64.js 712c4504c6 添加项目文件。 10 місяців тому
enc-hex.js 712c4504c6 添加项目文件。 10 місяців тому
enc-latin1.js 712c4504c6 添加项目文件。 10 місяців тому
enc-utf16.js 712c4504c6 添加项目文件。 10 місяців тому
enc-utf8.js 712c4504c6 添加项目文件。 10 місяців тому
evpkdf.js 712c4504c6 添加项目文件。 10 місяців тому
format-hex.js 712c4504c6 添加项目文件。 10 місяців тому
format-openssl.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-md5.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-ripemd160.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha1.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha224.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha256.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha3.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha384.js 712c4504c6 添加项目文件。 10 місяців тому
hmac-sha512.js 712c4504c6 添加项目文件。 10 місяців тому
hmac.js 712c4504c6 添加项目文件。 10 місяців тому
index.js 712c4504c6 添加项目文件。 10 місяців тому
lib-typedarrays.js 712c4504c6 添加项目文件。 10 місяців тому
md5.js 712c4504c6 添加项目文件。 10 місяців тому
mode-cfb.js 712c4504c6 添加项目文件。 10 місяців тому
mode-ctr-gladman.js 712c4504c6 添加项目文件。 10 місяців тому
mode-ctr.js 712c4504c6 添加项目文件。 10 місяців тому
mode-ecb.js 712c4504c6 添加项目文件。 10 місяців тому
mode-ofb.js 712c4504c6 添加项目文件。 10 місяців тому
package.json 712c4504c6 添加项目文件。 10 місяців тому
pad-ansix923.js 712c4504c6 添加项目文件。 10 місяців тому
pad-iso10126.js 712c4504c6 添加项目文件。 10 місяців тому
pad-iso97971.js 712c4504c6 添加项目文件。 10 місяців тому
pad-nopadding.js 712c4504c6 添加项目文件。 10 місяців тому
pad-pkcs7.js 712c4504c6 添加项目文件。 10 місяців тому
pad-zeropadding.js 712c4504c6 添加项目文件。 10 місяців тому
pbkdf2.js 712c4504c6 添加项目文件。 10 місяців тому
rabbit-legacy.js 712c4504c6 添加项目文件。 10 місяців тому
rabbit.js 712c4504c6 添加项目文件。 10 місяців тому
rc4.js 712c4504c6 添加项目文件。 10 місяців тому
ripemd160.js 712c4504c6 添加项目文件。 10 місяців тому
sha1.js 712c4504c6 添加项目文件。 10 місяців тому
sha224.js 712c4504c6 添加项目文件。 10 місяців тому
sha256.js 712c4504c6 添加项目文件。 10 місяців тому
sha3.js 712c4504c6 添加项目文件。 10 місяців тому
sha384.js 712c4504c6 添加项目文件。 10 місяців тому
sha512.js 712c4504c6 添加项目文件。 10 місяців тому
tripledes.js 712c4504c6 添加项目文件。 10 місяців тому
x64-core.js 712c4504c6 添加项目文件。 10 місяців тому

README.md

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/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