1.0.0 • Published 6 months ago

@fntools/crypto v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

A lightweight encryption library that outputs hashes as JSON for using in the server and in any browser based storage

Instalation

# NPM
$ npm i @fntools/crypto --save

# YARN
$ yarn add @fntools/crypto

Importing package

// ESM
import crypto from "@fntools/crypto";

// CJS
const crypto = require("@fntools/crypto");

Get Started

Primary Usage

import crypto from "@fntools/crypto";
// encrypt
const encrypted = crypto.encrypt("some data", "some-password", "some-salt");
// decrypt
crypto.decrypt(encrypted, "some-password", "some-salt"); 

Using Callback

// encrypting 
crypto.encrypt("some-data", "some-password", "salt", (data) => {
  // ...do something cool 
}, (err) => {
  // ...handle error  
})

// decrypting 
crypto.decrypt("some-hash", "some-password", "salt", (data) => {
  // ...do something cool 
}, (err) => {
  // ...handle error 
})

Promise Approach

  crypto.async.encrypt("some-data", "some-password", "salt").then((data) => {
  // ...do something cool 
}).catch((err) => {
  // ...handle error 
})

// decrypting 
crypto.async.decrypt("some-hash", "some-password", "salt").then((data) => {
  // ...do something cool 
}).catch((err) => {
  // ...handle error 
})

API Documentation

Crypto#Encrypt

 crypto.encrypt(data:any , password:string, salt?:string, callback?:function, errorCallback?:function);

Parameters

data Any type as long as it can be conveted to string or JSON

password Required password for incrypting the given data

salt Optional secret key that differ each data even if given the same data or password

callback:Function(data:string) Optional callback function called when encryption is a success

errorCallback:?Function(err:Error) Optional callback that will handle encryption error

Crypto#Decrypt

crypto.decrypt(hash:string|JSON, password:string, salt?:string, callback:Function, errorCallback:function)

Parameters hash Hash string or JSON object that contains all the needed data for decryption

password Required password for decrypting hash

salt Optional given only when there is salt when encryping

callback:Function(data:string) Optional callback function called when decryption is a success

errorCallback:?Function(err:Error) Optional callback that will handle decryption error

NOTE: if it is incrypted with salt it can't be decrypted without salt

Promise and Async Environment

Promise

// just replace the callbacks with .then and .catch
  crypto.async.encrypt("some-data", "some-password", "salt").then((data) => {
  // ...do something cool 
}).catch((err) => {
  // ...handle error 
})

// decrypting 
crypto.async.decrypt("some-hash", "some-password", "salt").then((data) => {
  // ...do something cool 
}).catch((err) => {
  // ...handle error 
})

Async, Await

// encryption

const encrypted = await crypto.async.encrypt("some-data", "some-password", "salt")

// decrypting 

const decryptedData = await crypto.async.decrypt(encrypted, "some-password", "salt");
0.1.0

6 months ago

1.0.0

6 months ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago