Skip to main content
The k6/crypto module provides cryptographic hashing and HMAC functionality.

Hash Functions

md4(input, outputEncoding)

Generates MD4 hash.
string | ArrayBuffer
Data to hash
string
Output encoding: hex, base64, base64url, base64rawurl, or binary

md5(input, outputEncoding)

Generates MD5 hash.

sha1(input, outputEncoding)

Generates SHA-1 hash.

sha256(input, outputEncoding)

Generates SHA-256 hash.

sha384(input, outputEncoding)

Generates SHA-384 hash.

sha512(input, outputEncoding)

Generates SHA-512 hash.

sha512_224(input, outputEncoding)

Generates SHA-512/224 hash.

sha512_256(input, outputEncoding)

Generates SHA-512/256 hash.

ripemd160(input, outputEncoding)

Generates RIPEMD-160 hash.

Hasher Objects

createHash(algorithm)

Creates a reusable hasher object.
string
Hash algorithm: md4, md5, sha1, sha256, sha384, sha512, sha512_224, sha512_256, or ripemd160

update(input)

Adds data to the hash.
string | ArrayBuffer
Data to add to the hash

digest(outputEncoding)

Returns the final hash value.
string
Output encoding: hex, base64, base64url, base64rawurl, or binary

HMAC Functions

hmac(algorithm, key, input, outputEncoding)

Generates HMAC.
string
Hash algorithm
string | ArrayBuffer
Secret key
string | ArrayBuffer
Data to hash
string
Output encoding

createHMAC(algorithm, key)

Creates a reusable HMAC hasher.
string
Hash algorithm
string | ArrayBuffer
Secret key

Utility Functions

randomBytes(size)

Generates cryptographically secure random bytes.
number
Number of bytes to generate (must be > 0)
ArrayBuffer
Random bytes

hexEncode(data)

Encodes data as hexadecimal string.
ArrayBuffer
Data to encode
string
Hex string

Examples

Simple Hash Example

API Request Signing

Password Hashing

Checksum Verification