JSPM

crypto-sample-js

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q16496F
    • License MIT

    JavaScript library of crypto standards.

    Package Exports

    • crypto-sample-js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (crypto-sample-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    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