njs/crypto

Types

pub type CryptoKey
pub type DecryptAlgorithm =
  EncryptAlgorithm
pub type EncryptAlgorithm {
  RsaOaep(name: String)
  AesCtr(name: String, counter: ArrayBuffer, length: Int)
  AesCbc(name: String, iv: ArrayBuffer)
  AesGcm(
    name: String,
    iv: ArrayBuffer,
    additional_data: ArrayBuffer,
    tag_length: Int,
  )
}

Constructors

  • RsaOaep(name: String)
  • AesCtr(name: String, counter: ArrayBuffer, length: Int)
  • AesCbc(name: String, iv: ArrayBuffer)
  • AesGcm(
      name: String,
      iv: ArrayBuffer,
      additional_data: ArrayBuffer,
      tag_length: Int,
    )
pub type Hash
pub type Hmac
pub type KeyAlgorithm {
  RsaOaepKey(name: String, hash: String)
  HMACKey(name: String, hash: String, length: Int)
  AesKey(name: String)
}

Constructors

  • RsaOaepKey(name: String, hash: String)

    RSA-OAEP

  • HMACKey(name: String, hash: String, length: Int)

    HMAC

  • AesKey(name: String)

    AES-CTR AES-CBC ASE-GCM

Functions

pub fn create_hash(algorithm a: String) -> Hash
pub fn create_hmac(algorithm a: String, secret k: String) -> Hmac
pub fn decrypt(
  algorithm a: EncryptAlgorithm,
  key k: CryptoKey,
  ciphertext d: ArrayBuffer,
) -> Promise(ArrayBuffer)
pub fn digest(
  algorithm a: String,
  data d: ArrayBuffer,
) -> Promise(ArrayBuffer)
pub fn encrypt(
  algorithm a: EncryptAlgorithm,
  key k: CryptoKey,
  plaintext d: ArrayBuffer,
) -> Promise(ArrayBuffer)
pub fn get_random_values(typedarray a: TypedArray) -> TypedArray
pub fn hash_digest(hash h: Hash, encoding e: Encoding) -> String
pub fn hash_update(hash h: Hash, data d: BitArray) -> Hash
pub fn hmac_digest(hmac h: Hmac, encoding e: Encoding) -> String
pub fn hmac_update(hmac h: Hmac, data d: BitArray) -> Hmac
pub fn import_key(
  format f: String,
  key k: ArrayBuffer,
  algorithm a: KeyAlgorithm,
  extractable e: Bool,
  usages ku: Array(String),
) -> Promise(CryptoKey)
pub fn sign(
  algorithm a: a,
  key k: CryptoKey,
  data d: ArrayBuffer,
) -> Promise(ArrayBuffer)
pub fn verify(
  algorithm a: a,
  key k: CryptoKey,
  signature s: ArrayBuffer,
  data d: ArrayBuffer,
) -> Promise(Bool)
Search Document