From 3d8f9c5d788cfd0a6ce82a150dc33652ddd3e8c3 Mon Sep 17 00:00:00 2001 From: Sambo Chea Date: Mon, 14 Feb 2022 16:05:17 +0700 Subject: [PATCH] Add guide for README.md --- README.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39eab23..f176b9e 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,65 @@ - Default Encryption - E2E Encryption -### Generate for Default Encryption +### How-to-use + +- Default Encryption Provider + +```ts +const key = "67rKmuc6DiDukE0jsUP421Eizo4CreaL6Q7Pg/NmH/s=" +const iv = "FEFM9AY2m5jDq6GZ+CfLIA==" +const text = "Hello World" +const provider = CryptoProvider.newInstance( + new DefaultCryptoProvider({ + key: key, + iv: iv, + }) +) + +const encrypted = provider.encrypt(text) +const decrypted = provider.decrypt(encrypted) + +// Output +console.log(text) // "Hello World" +console.log(decrypted) // "Hello World" +``` + +- E2E Encryption Provider + +```ts +const PRIVATE_KEY_VALUE = "-----BEGIN RSA PRIVATE KEY-----" +const PUBLIC_KEY_VALUE = "-----BEGIN RSA PUBLIC KEY-----" + +const text = "Hello World" +const provider = CryptoProvider.newInstance( + new E2ECryptoProvider({ + publicKey: PUBLIC_KEY_VALUE, + privateKey: PRIVATE_KEY_VALUE, + }) +) + +const encrypted = provider.encrypt(text) +const decrypted = provider.decrypt(encrypted) + +// Output +console.log(text) // "Hello World" +console.log(decrypted) // "Hello World" +``` + +### Generate for Default Encryption (Key and IV) ```js const key = crypto.randomBytes(32) const iv = crypto.randomBytes(16) ``` +### Generate for E2E Encryption (Public and Private Key) + +```shell +openssl genrsa -out rsa_4096_priv.pem 4096 +openssl rsa -pubout -in rsa_4096_priv.pem -out rsa_4096_pub.pem +``` + ### Contributors - Sambo Chea