njs/crypto

Types

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

Constructors

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

pub type KeyData {
  KeyData(d: json.Json)
  KeyArrayData(d: buffer.ArrayBuffer)
}

Constructors

Values

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: buffer.ArrayBuffer,
) -> promise.Promise(buffer.ArrayBuffer)
pub fn derive_bits(
  algorithm a: a,
  base_key k: CryptoKey,
  length l: Int,
) -> promise.Promise(buffer.ArrayBuffer)
pub fn derive_key(
  algorithm a: a,
  base_key k: CryptoKey,
  derived_key_algorithm dka: KeyAlgorithm,
  extractable e: Bool,
  key_usages ku: array.Array(String),
) -> promise.Promise(CryptoKey)
pub fn digest(
  algorithm a: String,
  data d: buffer.ArrayBuffer,
) -> promise.Promise(buffer.ArrayBuffer)
pub fn encrypt(
  algorithm a: EncryptAlgorithm,
  key k: CryptoKey,
  plaintext d: buffer.ArrayBuffer,
) -> promise.Promise(buffer.ArrayBuffer)
pub fn export_key(
  format f: String,
  key k: CryptoKey,
) -> promise.Promise(KeyData)
pub fn generate_key(
  algorithm a: KeyAlgorithm,
  extractable e: Bool,
  usages ku: array.Array(String),
) -> promise.Promise(CryptoKeyPair)
pub fn get_random_values(
  typedarray a: buffer.TypedArray,
) -> buffer.TypedArray
pub fn hash_copy(hash h: Hash) -> Hash
pub fn hash_digest(
  hash h: Hash,
  encoding e: buffer.Encoding,
) -> String
pub fn hash_update(hash h: Hash, data d: BitArray) -> Hash
pub fn hmac_digest(
  hmac h: Hmac,
  encoding e: buffer.Encoding,
) -> String
pub fn hmac_update(hmac h: Hmac, data d: BitArray) -> Hmac
pub fn import_key(
  format f: String,
  key k: buffer.ArrayBuffer,
  algorithm a: KeyAlgorithm,
  extractable e: Bool,
  usages ku: array.Array(String),
) -> promise.Promise(CryptoKey)
pub fn sign(
  algorithm a: a,
  key k: CryptoKey,
  data d: buffer.ArrayBuffer,
) -> promise.Promise(buffer.ArrayBuffer)
pub fn verify(
  algorithm a: a,
  key k: CryptoKey,
  signature s: buffer.ArrayBuffer,
  data d: buffer.ArrayBuffer,
) -> promise.Promise(Bool)
Search Document