Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    crypto-jspublic

    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

    install

    npm i crypto-js

    Downloadsweekly downloads

    332,703

    version

    3.1.9-1

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar