cubetiq-crypto-js/README.md

1.4 KiB

CUBETIQ CryptoJS

  • Default Encryption
  • E2E Encryption

How-to-use

  • Default Encryption Provider
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
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)

const key = crypto.randomBytes(32)
const iv = crypto.randomBytes(16)

Generate for E2E Encryption (Public and Private Key)

openssl genrsa -out rsa_4096_priv.pem 4096
openssl rsa -pubout -in rsa_4096_priv.pem -out rsa_4096_pub.pem

Contributors