Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest version.

Documentationbreadcrumb arrow Grafana k6breadcrumb arrow JavaScript APIbreadcrumb arrow k6/cryptobreadcrumb arrow createHMAC( algorithm, secret )
Open source

createHMAC( algorithm, secret )

Note

A module with a better and standard API exists.

The new k6/experimental/webcrypto API partially implements the WebCryptoAPI, supporting more features than k6/crypto.

Creates a HMAC hashing object that can then be fed with data repeatedly, and from which you can extract a signed hash digest whenever you want.

ParameterTypeDescription
algorithmstringThe hashing algorithm to use. One of md4, md5, sha1, sha256, sha384, sha512, sha512_224, sha512_256 or ripemd160.
secretstring / ArrayBufferA shared secret used to sign the data.

Returns

TypeDescription
objectA Hasher object.

Example

JavaScript
import crypto from 'k6/crypto';

export default function () {
  console.log(crypto.hmac('sha256', 'a secret', 'my data', 'hex'));
  const hasher = crypto.createHMAC('sha256', 'a secret');
  hasher.update('my ');
  hasher.update('data');
  console.log(hasher.digest('hex'));
}

The above script should result in the following being printed during execution:

bash
INFO[0000] 82f669c8fde13aef6d6977257588dc4953dfac505428f8fd6b52e19cd96d7ea5
INFO[0000] 82f669c8fde13aef6d6977257588dc4953dfac505428f8fd6b52e19cd96d7ea5