sjcl-es

2.0.0 • Public • Published

sjcl-es

Tiny 2.72kB AES-GCM library

Installation

pnpm add sjcl-es

Usage

import sjcl from 'sjcl-es'

const password = sjcl.codec.utf8String.toBits('PASSWORD')
const iv = sjcl.codec.utf8String.toBits('IV')

const cipher = new sjcl.cipher.aes(password)

export function encrypt(plaintext) {
  return sjcl.codec.base64.fromBits(
    sjcl.mode.gcm.encrypt(cipher, sjcl.codec.utf8String.toBits(plaintext), iv)
  )
}

export function decrypt(ciphertext) {
  return sjcl.codec.utf8String.fromBits(
    sjcl.mode.gcm.decrypt(cipher, sjcl.codec.base64.toBits(ciphertext), iv)
  )
}

console.log(encrypt('Hello World!'))
console.log(decrypt('0sFJ9r7c33z7gB4u1pD0xzuX48xaYVBGLj41UQ=='))

Documentation

https://bitwiseshiftleft.github.io/sjcl/doc/

Package Sidebar

Install

npm i sjcl-es

Weekly Downloads

2,394

Version

2.0.0

License

(BSD-2-Clause OR GPL-2.0-only)

Unpacked Size

2.27 MB

Total Files

129

Last publish

Collaborators

  • biped