cubetiq-crypto-js/README.md

68 lines
1.4 KiB
Markdown
Raw Normal View History

# CUBETIQ CryptoJS
2022-02-14 10:24:23 +07:00
- Default Encryption
- E2E Encryption
2022-02-14 10:24:23 +07:00
2022-02-14 16:05:17 +07:00
### 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)
2022-02-14 10:24:23 +07:00
```js
const key = crypto.randomBytes(32)
const iv = crypto.randomBytes(16)
```
2022-02-14 10:24:23 +07:00
2022-02-14 16:05:17 +07:00
### 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
```
2022-02-14 10:24:23 +07:00
### Contributors
- Sambo Chea <sombochea@cubetiqs.com>