End to End encryption (RSA e2ee) for multiple languages (cross platform) and Value password protection (DES encryption) specially for local file encryption!
npm install @zozoto/encrypto
| Icon | Item |
|:----:|:------------------------------------------------------------------------------------:|
| 🎃 | Usage) |
| 📺 | Preview |
| 🥳 | Upcoming |
| ⚖️ | License |
| 📝 | ChangeLog |
| 😋 | For HTML |
npm i @zozoto/encrypto`or For HTML
RSA
$3
`js
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.
`$3
`js
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
`$3
`js
let val = "alo";
let base64encrypted = encrypto.encrypt(val, pubKey);
//passing public key as 2nd parameter is MANDATORY for RSA encryption
`$3
`js
let decrypted = encrypto.decrypt(base64encrypted);
console.log(decrypted);
//prints original message i.e. "alo"
`$3
| 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
$3
`java
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
`$3
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:`js
//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);
``| Supported Languages | Status |
|---------------------|---------------------------------------------------------------------------------------------|
| Java | Completed and available here |
| Flutter | Completed and available here |
| Rust | Pending |