Crypto

hmacSha256(key, data)

Computes HMAC-SHA256 of the given data using the provided key.

Arguments:
  • key (string | Uint8Array<ArrayBufferLike>) – Secret key as a Uint8Array or string.

  • data (string | Uint8Array<ArrayBufferLike>) – Data to hash as a Uint8Array or string.

Returns:

Uint8Array – HMAC-SHA256 digest as Uint8Array.

hmacSha512(key, data)

Computes HMAC-SHA512 of the given data using the provided key.

Arguments:
  • key (string | Uint8Array<ArrayBufferLike>) – Secret key as a Uint8Array or string.

  • data (string | Uint8Array<ArrayBufferLike>) – Data to hash as a Uint8Array or string.

Returns:

Uint8Array – HMAC-SHA512 digest as Uint8Array.

blake2b(data, digestSize, key=..., salt=..., personalize)

Computes Blake2b hash of the input data.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>) – Data to hash.

  • digestSize (number) – Desired output length in bytes.

  • key (string | Uint8Array<ArrayBufferLike>) – Optional secret key.

  • salt (string | Uint8Array<ArrayBufferLike>) – Optional salt.

  • personalize (string | Uint8Array<ArrayBufferLike>) – Optional personalization string.

Returns:

Uint8Array – Blake2b digest as Uint8Array.

blake2b32(d, k, s)

Computes a 32-bit (4-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 4-byte Blake2b digest as Uint8Array.

blake2b40(d, k, s)

Computes a 40-bit (5-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 5-byte Blake2b digest as Uint8Array.

blake2b160(d, k, s)

Computes a 160-bit (20-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 20-byte Blake2b digest as Uint8Array.

blake2b224(d, k, s)

Computes a 224-bit (28-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 28-byte Blake2b digest as Uint8Array.

blake2b256(d, k, s)

Computes a 256-bit (32-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 32-byte Blake2b digest as Uint8Array.

blake2b512(d, k, s)

Computes a 512-bit (64-byte) BLAKE2b hash of the given data.

Arguments:
  • d (any) – Data to hash.

  • k (any) – Optional secret key.

  • s (any) – Optional salt.

Returns:

Uint8Array<ArrayBufferLike> – 64-byte Blake2b digest as Uint8Array.

chacha20Poly1305Encrypt(key, nonce, aad, plaintext)

Encrypts plaintext using ChaCha20-Poly1305.

Arguments:
  • key (string | Uint8Array<ArrayBufferLike>) – 32-byte secret key.

  • nonce (string | Uint8Array<ArrayBufferLike>) – Nonce for encryption.

  • aad (string | Uint8Array<ArrayBufferLike>) – Additional authenticated data.

  • plaintext (string | Uint8Array<ArrayBufferLike>) – Data to encrypt.

Returns:

{ cipherText: Uint8Array; tag: Uint8Array; } – Object containing cipherText and authentication tag.

chacha20Poly1305Decrypt(key, nonce, aad, ciphertext, tag)

Decrypts ciphertext encrypted with ChaCha20-Poly1305.

Arguments:
  • key (string | Uint8Array<ArrayBufferLike>) – 32-byte secret key.

  • nonce (string | Uint8Array<ArrayBufferLike>) – Nonce used during encryption.

  • aad (string | Uint8Array<ArrayBufferLike>) – Additional authenticated data.

  • ciphertext (string | Uint8Array<ArrayBufferLike>) – Encrypted data.

  • tag (string | Uint8Array<ArrayBufferLike>) – Authentication tag.

Returns:

Uint8Array – Decrypted plaintext as Uint8Array.

sha256(data)

Computes SHA-256 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>) – Data to hash.

Returns:

Uint8Array – SHA-256 digest as Uint8Array.

doubleSha256(d)

Computes double SHA-256 hash (SHA-256 of SHA-256).

Arguments:
  • d (any)

Returns:

Uint8Array<ArrayBufferLike>

sha512(data)

Computes SHA-512 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

sha512_256(data)

Computes SHA-512/256 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

keccak256(data)

Computes Keccak-256 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

sha3_256(data)

Computes SHA3-256 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

ripemd160(data)

Computes RIPEMD-160 hash.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

hash160(data)

Computes HASH160 (RIPEMD-160 of SHA-256).

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

crc32(data)

Computes CRC32 checksum.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

xmodemCrc(data)

Computes XMODEM CRC16 checksum.

Arguments:
  • data (string | Uint8Array<ArrayBufferLike>)

Returns:

Uint8Array

pbkdf2HmacSha512(password, salt, iterations, keyLen=64)

Computes PBKDF2-HMAC-SHA512 key derivation.

Arguments:
  • password (string | Uint8Array<ArrayBufferLike>) – Password.

  • salt (string | Uint8Array<ArrayBufferLike>) – Salt.

  • iterations (number) – Number of iterations (>0).

  • keyLen (number) – Desired key length.

Returns:

Uint8Array – Derived key as Uint8Array.

getChecksum(d)

Returns checksum of data as first 4 bytes of double SHA-256.

Arguments:
  • d (any)

Returns:

Uint8Array