cryptorjs

Encrypt and decrypt string, number and object using a key

Usage no npm install needed!

<script type="module">
  import cryptorjs from 'https://cdn.skypack.dev/cryptorjs';
</script>

README

Cryptorjs

Simple library for encryption and decryption of string, number and object using a key

Installation

npm install cryptorjs --save

Example

Basic

var cryptorjs = require('cryptorjs');

var myCryptor = new cryptorjs('yourSecretKey');

var encoded = myCryptor.encode('myExampleString');
// => '37d8e07a3dddc2971f3e53b1021f51'

var decoded = myCryptor.decode('37d8e07a3dddc2971f3e53b1021f51');
// => 'myExampleString'

Object encryption

var cryptorjs = require('cryptorjs');

var myCryptor = new cryptorjs('yourSecretKey');

var encoded = myCryptor.encode({ a: 1, b: 2 });
// => '2183c42066819ed9184f1df116'

var decoded = myCryptor.decode('2183c42066819ed9184f1df116');
// => { a: 1, b: 2 }

With a cipher

For example using "camellia-256-cfb1" cipher

var cryptorjs = require('cryptorjs');

var myCryptor = new cryptorjs('yourSecretKey', 'camellia-256-cfb1');

var encoded = myCryptor.encode('myExampleString');
// => 'ac3277ba5c3f433d6b7ea70979fe55'

var decoded = myCryptor.decode('ac3277ba5c3f433d6b7ea70979fe55');
// => 'myExampleString'

Ciphers

You can get the list with a static method

var cryptorjs = require('cryptorjs');

cryptorjs.getCiphers();

/*=> [ 'aes-128-cbc',
        'aes-128-cbc-hmac-sha1',
        'aes-128-cbc-hmac-sha256',
        'aes-128-ccm',
        'aes-128-cfb',
        'aes-128-cfb1',
        'aes-128-cfb8',...]
        */

Hash helpers

Create an hash using available hashes in your platform

var cryptorjs = require('cryptorjs');

// Check if exists MD5 hash
console.log(cryptorjs.hasHash('md5')); //=> true

cryptorjs.hash('ciao', 'md5');

/*=> '6e6bc4e49dd477ebc98ef4046c067b5f'*/

cryptorjs.hash('ciao', 'sha1');

/*=> '1e4e888ac66f8dd41e00c5a7ac36a32a9950d271'*/

Supported ciphers (since 3.0.0)

  • aes-256-cbc
  • aes-256-cbc-hmac-sha1
  • aes-256-cbc-hmac-sha256
  • aes-256-cfb
  • aes-256-cfb1
  • aes-256-cfb8
  • aes-256-ctr
  • aes-256-ofb
  • aes256
  • camellia-256-cbc
  • camellia-256-cfb
  • camellia-256-cfb1
  • camellia-256-cfb8
  • camellia-256-ofb
  • camellia256

License

Cryptorjs is open-sourced software licensed under the MIT license

Author

Fabio Ricali