njs/crypto
Types
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
-
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, )
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
-
KeyData(d: json.Json) -
KeyArrayData(d: buffer.ArrayBuffer)
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_digest(
hash h: Hash,
encoding e: buffer.Encoding,
) -> String
pub fn hash_update(hash h: Hash, data d: buffer.Buffer) -> Hash
pub fn hmac_digest(
hmac h: Hmac,
encoding e: buffer.Encoding,
) -> String
pub fn hmac_update(hmac h: Hmac, data d: buffer.Buffer) -> 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)