njs/crypto
Types
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 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 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)