@zozoto/encrypto

1.0.5 • Public • Published

About Project

End to End encryption (RSA e2ee) for multiple languages (cross-platform) and Value password protection (DES encryption) specially for local file encryption!

Icon Item
🎃 Usage
📺 Preview
🥳 Upcoming
⚖️ License
📝 ChangeLog
😋 For HTML

Usage(JavaScript)

Implementation:-

npm i @zozoto/encrypto

or For HTML

RSA

RSA Init

import Encrypto from '@zozoto/encrypto';
let encrypto = new Encrypto('RSA', 128);
//this generates public and private keys for e2ee, the default bitlength is 256
//keep the bitlength low if you are going to use it in web.

Get ZotPublicKey

let publicKeyString = encrypto.getSterilizedPublicKey();
//returns a base64 encoded public key which you can send to all other clients

//to convert above publicKeyString to ZotPublicKey use:
let pubKey = encrypto.deSterilizeZotPublicKey(publicKeyString);
// pass the public key string which you recieved from the client.
//another method to get the public key directly is:
let publicKey = encrypto.getZotPublicKey();
//returns a map with public exponent and modulus

RSA Encrypt

let val = "alo";
let base64encrypted = encrypto.encrypt(val, pubKey);
//passing public key as 2nd parameter is MANDATORY for RSA encryption

RSA Decrypt

let decrypted = encrypto.decrypt(base64encrypted);
console.log(decrypted);
//prints original message i.e. "alo"

Other methods for RSA

Sr. number Methods Info
1 getPublicKey() is a method that returns generated ZotPublicKey
2 getDeSterilizePublicKey() is a method which converts ZotPublicKey string to ZotPublicKey
3 getSterilizePublicKey() returns a ZotPublicKey string which can be sent to the other person.
4 encrypt(value, ZotPublicKey) used to encrypt String with RSA
5 decrypt(value) used to decrypt string using the password or ZotPrivateKey (no need to pass ZotPrivateKey)

DES

DES Init

Encrypto encrypto = new Encrypto(Encrypto.DES, "the moon is scary sometimes"); 
//MANDATORY to pass password as 2nd parameter for DES
//It's suggested to pass the hash of the password instead of plain text

DES Encrypt

  • Unsupported for Encrypto v1.*

HTML

  • To use Encrypto in HTML script tag click here for encrypto.min.js CDN link
  • To use Encrypto in HTML script tag click here for encrypto.js CDN link
  • To import file directly (without npm) just copy the encrypto.js file from here and use it the folloring way:
//foo.js (foo = name of the file you use in your html code)
import Encrypto from "./encrypto.js";

let encrypto = new Encrypto('RSA', 128);
let enc = encrypto.encrypt('alo from js', encrypto.getZotPublicKey());
console.log(enc);

let dec = encrypto.decrypt(enc);

console.log(dec);

Upcoming

Supported Languages Status
Java Completed and available here
Flutter Completed and available here
Rust Pending

Preview

Preview unavailable for js

License

Click here

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @zozoto/encrypto

      Weekly Downloads

      1

      Version

      1.0.5

      License

      GPL-3.0

      Unpacked Size

      240 kB

      Total Files

      9

      Last publish

      Collaborators

      • zozoto