@zozoto/encrypto
v1.0.5
Published
End to End encryption (RSA e2ee) for multiple languages (cross platform) and Value password protection (DES encryption) specially for local file encryption!
Downloads
24
Maintainers
Readme
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 |