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

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