JSPM

crypto-ts

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 11923
  • Score
    100M100P100Q122703F
  • License MIT

Typescript library of crypto standards.

Package Exports

  • crypto-ts

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-ts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

crypto-ts

Typescript library of crypto standards. Ready for AOT and treeshaking in combination with Angular and other modern typescript frameworks.

Node.js (Install)

Requirements:

  • Node.js
  • npm (Node.js package manager)
npm install crypto-ts

Usage

ES6 import for typical API call signing use case:

import { AES } from 'crypto-ts';

const encryptedMessage = AES.encrypt('message', 'test').toString();

Modular include:

var AES = require("crypto-ts").AES;
var SHA256 = require("crypto-ts").SHA256;
...
console.log(SHA256("Message"));

Including all libraries, for access to extra methods:

var CryptoTS = require("crypto-ts");
...
console.log(CryptoTS.HmacSHA1("Message", "Key"));

Client (browser)

Requirements:

  • Node.js
  • Bower (package manager for frontend)
bower install crypto-ts

Usage

Modular include:

require.config({
    packages: [
        {
            name: 'crypto-ts',
            location: 'path-to/bower_components/crypto-ts',
            main: 'index'
        }
    ]
});

require(["crypto-ts/algo/aes", "crypto-ts/algo/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-ts': 'path-to/bower_components/crypto-ts/crypto-ts'
    }
});

require(["crypto-ts"], function (CryptoTS) {
    console.log(CryptoTS.MD5("Message"));
});

Usage without RequireJS

<script type="text/javascript" src="path-to/bower_components/crypto-ts/crypto-ts.js"></script>
<script type="text/javascript">
    var encrypted = CryptoTS.AES(...);
    var encrypted = CryptoTS.SHA256(...);
</script>

AES Encryption

Plain text encryption

var CryptoTS = require("crypto-ts");

// Encrypt
var ciphertext = CryptoTS.AES.encrypt('my message', 'secret key 123');

// Decrypt
var bytes  = CryptoTS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var plaintext = bytes.toString(CryptoTS.enc.Utf8);

console.log(plaintext);

Object encryption

var CryptoTS = require("crypto-ts");

var data = [{id: 1}, {id: 2}]

// Encrypt
var ciphertext = CryptoTS.AES.encrypt(JSON.stringify(data), 'secret key 123');

// Decrypt
var bytes  = CryptoTS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var decryptedData = JSON.parse(bytes.toString(CryptoTS.enc.Utf8));

console.log(decryptedData);

List of modules

  • crypto-ts/core
  • crypto-ts/x64-core
  • crypto-ts/lib-typedarrays

  • crypto-ts/md5
  • crypto-ts/sha1
  • crypto-ts/sha256
  • crypto-ts/sha224
  • crypto-ts/sha512
  • crypto-ts/sha384
  • crypto-ts/sha3
  • crypto-ts/ripemd160

  • crypto-ts/hmac-md5
  • crypto-ts/hmac-sha1
  • crypto-ts/hmac-sha256
  • crypto-ts/hmac-sha224
  • crypto-ts/hmac-sha512
  • crypto-ts/hmac-sha384
  • crypto-ts/hmac-sha3
  • crypto-ts/hmac-ripemd160

  • crypto-ts/pbkdf2

  • crypto-ts/aes
  • crypto-ts/tripledes
  • crypto-ts/rc4
  • crypto-ts/rabbit
  • crypto-ts/rabbit-legacy
  • crypto-ts/evpkdf

  • crypto-ts/format-openssl
  • crypto-ts/format-hex

  • crypto-ts/enc-latin1
  • crypto-ts/enc-utf8
  • crypto-ts/enc-hex
  • crypto-ts/enc-utf16
  • crypto-ts/enc-base64

  • crypto-ts/mode-cfb
  • crypto-ts/mode-ctr
  • crypto-ts/mode-ctr-gladman
  • crypto-ts/mode-ofb
  • crypto-ts/mode-ecb

  • crypto-ts/pad-pkcs7
  • crypto-ts/pad-ansix923
  • crypto-ts/pad-iso10126
  • crypto-ts/pad-iso97971
  • crypto-ts/pad-zeropadding
  • crypto-ts/pad-nopadding