1.0.5 • Published 2 years ago

@zozoto/encrypto v1.0.5

Weekly downloads
-
License
GPL-3.0
Repository
github
Last release
2 years ago

About Project

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

IconItem
🎃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. numberMethodsInfo
1getPublicKey()is a method that returns generated ZotPublicKey
2getDeSterilizePublicKey()is a method which converts ZotPublicKey string to ZotPublicKey
3getSterilizePublicKey()returns a ZotPublicKey string which can be sent to the other person.
4encrypt(value, ZotPublicKey)used to encrypt String with RSA
5decrypt(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 LanguagesStatus
JavaCompleted and available here
FlutterCompleted and available here
RustPending

Preview

Preview unavailable for js

License

Click here