mipher
TypeScript icon, indicating that this package has built-in type declarations

1.1.5 • Public • Published

mipher

npm npm Github Issues Github Releases GitHub license

Mobile Cipher crypto library written in clean TypeScript

Highligths and design goals

There are a lot of crypto libs in JS around, but I needed a clean, lightweight, reliable, fast and simple lib for mobile devices in TypeScript. That's mipher.
A collection of common crypto algorithms, optimized for speed, security and size.

  • Only usage of modern typed arrays like Uint8Array and Uint32Array as message/data types
  • Fast and simple, no dependencies
  • Own crypto random generator (using a FORTUNA implementation)
  • Extensive passing test suite
  • MIT license

Supported algorithms

  • AES
  • Serpent
  • Chacha20
  • Curve25519, Ed25519
  • HMAC
  • PBKDF2
  • SHA-1, SHA-256, SHA-512, SHA-3, Keccak, SHAKE
  • UUID
  • Random generator
  • Blockmodes (ECB, CBC, CTR)
  • Padding (PKCS5, PKCS7, zero padding)
  • Format converter (bin, number, hex, base64, string)
  • Utils (xor, cryptocompare etc.)

Usage

Import the mipher module as mipher and create your according crypto object:

import * as mipher from 'mipher';
 
let aes = new mipher.AES();
let ct  = aes.encrypt(key, pt);

Test suite

mipher is using the mocha test suite for testing. To do all tests just run npm run test.

Contributing

If you find any bugs, have any comments, improvements or suggestions:

  1. Create an issue and describe your idea
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Publish the branch (git push origin my-new-feature)
  6. Create a new pull request
  7. Profit! ✅

License

mipher is written under the MIT license.

Dependencies (0)

    Dev Dependencies (8)

    Package Sidebar

    Install

    npm i mipher

    Weekly Downloads

    26

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    271 kB

    Total Files

    35

    Last publish

    Collaborators

    • mpaland