@eryx/crypto/_crypto Module

JSON

Type stub for the _crypto native DLL. The DLL takes precedence at runtime; this file exists for IDE type support.

Summary

Classes

HashLib.md5(data: buffer)buffer
HashLib.sha1(data: buffer)buffer
HashLib.sha224(data: buffer)buffer
HashLib.sha256(data: buffer)buffer
HashLib.sha384(data: buffer)buffer
HashLib.sha512(data: buffer)buffer
HashLib.sha3_224(data: buffer)buffer
HashLib.sha3_256(data: buffer)buffer
HashLib.sha3_384(data: buffer)buffer
HashLib.sha3_512(data: buffer)buffer
HmacLib.md5(key: buffer, data: buffer)buffer
HmacLib.sha1(key: buffer, data: buffer)buffer
HmacLib.sha224(key: buffer, data: buffer)buffer
HmacLib.sha256(key: buffer, data: buffer)buffer
HmacLib.sha384(key: buffer, data: buffer)buffer
HmacLib.sha512(key: buffer, data: buffer)buffer
HmacLib.sha3_224(key: buffer, data: buffer)buffer
HmacLib.sha3_256(key: buffer, data: buffer)buffer
HmacLib.sha3_384(key: buffer, data: buffer)buffer
HmacLib.sha3_512(key: buffer, data: buffer)buffer
CipherLib.ecb_encrypt(key: buffer, data: buffer)buffer
CipherLib.ecb_decrypt(key: buffer, data: buffer)buffer
CipherLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer
CipherLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer
CipherLib.ctr_encrypt(key: buffer, iv: buffer, data: buffer)buffer
CipherLib.ctr_decrypt(key: buffer, iv: buffer, data: buffer)buffer
CipherLib.gcm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)
CipherLib.gcm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer
CipherLib.ccm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)
CipherLib.ccm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer
CamelliaLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer
CamelliaLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer
CamelliaLib.ctr_encrypt(key: buffer, iv: buffer, data: buffer)buffer
CamelliaLib.ctr_decrypt(key: buffer, iv: buffer, data: buffer)buffer
CamelliaLib.gcm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)
CamelliaLib.gcm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer
DesLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer
DesLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer
ChaCha20Lib.encrypt(key: buffer, nonce: buffer, data: buffer)buffer
ChaCha20Lib.decrypt(key: buffer, nonce: buffer, data: buffer)buffer
ChaCha20Lib.poly1305_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)
ChaCha20Lib.poly1305_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer
KdfLib.hkdf_sha256(ikm: buffer, salt: buffer?, info: buffer?, length: number)buffer
KdfLib.hkdf_sha512(ikm: buffer, salt: buffer?, info: buffer?, length: number)buffer
KdfLib.pbkdf2_sha256(password: buffer, salt: buffer, iterations: number, length: number)buffer
KdfLib.pbkdf2_sha512(password: buffer, salt: buffer, iterations: number, length: number)buffer
RsaLib.generate_key(bits: number?)string
RsaLib.get_public_pem(private_pem: string)string
RsaLib.encrypt_pkcs1(public_pem: string, data: buffer)buffer
RsaLib.decrypt_pkcs1(private_pem: string, data: buffer)buffer
RsaLib.encrypt_oaep(public_pem: string, data: buffer, hash: string?)buffer
RsaLib.decrypt_oaep(private_pem: string, data: buffer, hash: string?)buffer
RsaLib.sign_pkcs1(private_pem: string, data: buffer, hash: string?)buffer
RsaLib.verify_pkcs1(public_pem: string, data: buffer, signature: buffer, hash: string?)boolean
RsaLib.sign_pss(private_pem: string, data: buffer, hash: string?)buffer
RsaLib.verify_pss(public_pem: string, data: buffer, signature: buffer, hash: string?)boolean
RsaLib.private_to_der(private_pem: string)buffer
RsaLib.public_to_der(public_pem: string)buffer
RsaLib.private_from_der(der: buffer)string
RsaLib.public_from_der(der: buffer)string
RsaLib.get_key_bits(pem: string)number
RandomLib.randint(n: number)number
RandomLib.choice(tbl: { any })any
RandomLib.bits(n: number)number
RandomLib.bytes(n: number)buffer
RandomLib.hex(n: number)string

API Reference

Classes

HashLib

Properties

HashLib.md5

HashLib.md5(data: buffer)buffer

HashLib.sha1

HashLib.sha1(data: buffer)buffer

HashLib.sha224

HashLib.sha224(data: buffer)buffer

HashLib.sha256

HashLib.sha256(data: buffer)buffer

HashLib.sha384

HashLib.sha384(data: buffer)buffer

HashLib.sha512

HashLib.sha512(data: buffer)buffer

HashLib.sha3_224

HashLib.sha3_224(data: buffer)buffer

HashLib.sha3_256

HashLib.sha3_256(data: buffer)buffer

HashLib.sha3_384

HashLib.sha3_384(data: buffer)buffer

HashLib.sha3_512

HashLib.sha3_512(data: buffer)buffer

HmacLib

Properties

HmacLib.md5

HmacLib.md5(key: buffer, data: buffer)buffer

HmacLib.sha1

HmacLib.sha1(key: buffer, data: buffer)buffer

HmacLib.sha224

HmacLib.sha224(key: buffer, data: buffer)buffer

HmacLib.sha256

HmacLib.sha256(key: buffer, data: buffer)buffer

HmacLib.sha384

HmacLib.sha384(key: buffer, data: buffer)buffer

HmacLib.sha512

HmacLib.sha512(key: buffer, data: buffer)buffer

HmacLib.sha3_224

HmacLib.sha3_224(key: buffer, data: buffer)buffer

HmacLib.sha3_256

HmacLib.sha3_256(key: buffer, data: buffer)buffer

HmacLib.sha3_384

HmacLib.sha3_384(key: buffer, data: buffer)buffer

HmacLib.sha3_512

HmacLib.sha3_512(key: buffer, data: buffer)buffer

CipherLib

Symmetric cipher: key, iv, data -> ciphertext (CBC uses PKCS7 padding)

Properties

CipherLib.ecb_encrypt

CipherLib.ecb_encrypt(key: buffer, data: buffer)buffer

CipherLib.ecb_decrypt

CipherLib.ecb_decrypt(key: buffer, data: buffer)buffer

CipherLib.cbc_encrypt

CipherLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer

CipherLib.cbc_decrypt

CipherLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer

CipherLib.ctr_encrypt

CipherLib.ctr_encrypt(key: buffer, iv: buffer, data: buffer)buffer

CipherLib.ctr_decrypt

CipherLib.ctr_decrypt(key: buffer, iv: buffer, data: buffer)buffer

CipherLib.gcm_encrypt

CipherLib.gcm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)

CipherLib.gcm_decrypt

CipherLib.gcm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer

CipherLib.ccm_encrypt

CipherLib.ccm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)

CipherLib.ccm_decrypt

CipherLib.ccm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer

CamelliaLib

Properties

CamelliaLib.cbc_encrypt

CamelliaLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer

CamelliaLib.cbc_decrypt

CamelliaLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer

CamelliaLib.ctr_encrypt

CamelliaLib.ctr_encrypt(key: buffer, iv: buffer, data: buffer)buffer

CamelliaLib.ctr_decrypt

CamelliaLib.ctr_decrypt(key: buffer, iv: buffer, data: buffer)buffer

CamelliaLib.gcm_encrypt

CamelliaLib.gcm_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)

CamelliaLib.gcm_decrypt

CamelliaLib.gcm_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer

DesLib

3DES only; key must be 24 bytes

Properties

DesLib.cbc_encrypt

DesLib.cbc_encrypt(key: buffer, iv: buffer, data: buffer)buffer

DesLib.cbc_decrypt

DesLib.cbc_decrypt(key: buffer, iv: buffer, data: buffer)buffer

ChaCha20Lib

Properties

ChaCha20Lib.encrypt

ChaCha20Lib.encrypt(key: buffer, nonce: buffer, data: buffer)buffer

ChaCha20Lib.decrypt

ChaCha20Lib.decrypt(key: buffer, nonce: buffer, data: buffer)buffer

ChaCha20Lib.poly1305_encrypt

ChaCha20Lib.poly1305_encrypt(key: buffer, nonce: buffer, data: buffer, aad: buffer?)(buffer, buffer)

ChaCha20Lib.poly1305_decrypt

ChaCha20Lib.poly1305_decrypt(key: buffer, nonce: buffer, ct: buffer, tag: buffer, aad: buffer?)buffer

KdfLib

Properties

KdfLib.hkdf_sha256

KdfLib.hkdf_sha256(ikm: buffer, salt: buffer?, info: buffer?, length: number)buffer

KdfLib.hkdf_sha512

KdfLib.hkdf_sha512(ikm: buffer, salt: buffer?, info: buffer?, length: number)buffer

KdfLib.pbkdf2_sha256

KdfLib.pbkdf2_sha256(password: buffer, salt: buffer, iterations: number, length: number)buffer

KdfLib.pbkdf2_sha512

KdfLib.pbkdf2_sha512(password: buffer, salt: buffer, iterations: number, length: number)buffer

RsaLib

Properties

RsaLib.generate_key

RsaLib.generate_key(bits: number?)string

RsaLib.get_public_pem

RsaLib.get_public_pem(private_pem: string)string

RsaLib.encrypt_pkcs1

RsaLib.encrypt_pkcs1(public_pem: string, data: buffer)buffer

RsaLib.decrypt_pkcs1

RsaLib.decrypt_pkcs1(private_pem: string, data: buffer)buffer

RsaLib.encrypt_oaep

RsaLib.encrypt_oaep(public_pem: string, data: buffer, hash: string?)buffer

RsaLib.decrypt_oaep

RsaLib.decrypt_oaep(private_pem: string, data: buffer, hash: string?)buffer

RsaLib.sign_pkcs1

RsaLib.sign_pkcs1(private_pem: string, data: buffer, hash: string?)buffer

RsaLib.verify_pkcs1

RsaLib.verify_pkcs1(public_pem: string, data: buffer, signature: buffer, hash: string?)boolean

RsaLib.sign_pss

RsaLib.sign_pss(private_pem: string, data: buffer, hash: string?)buffer

RsaLib.verify_pss

RsaLib.verify_pss(public_pem: string, data: buffer, signature: buffer, hash: string?)boolean

RsaLib.private_to_der

RsaLib.private_to_der(private_pem: string)buffer

RsaLib.public_to_der

RsaLib.public_to_der(public_pem: string)buffer

RsaLib.private_from_der

RsaLib.private_from_der(der: buffer)string

RsaLib.public_from_der

RsaLib.public_from_der(der: buffer)string

RsaLib.get_key_bits

RsaLib.get_key_bits(pem: string)number

RandomLib

Properties

RandomLib.randint

RandomLib.randint(n: number)number

RandomLib.choice

RandomLib.choice(tbl: { any })any

RandomLib.bits

RandomLib.bits(n: number)number

RandomLib.bytes

RandomLib.bytes(n: number)buffer

RandomLib.hex

RandomLib.hex(n: number)string