Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Open source

digest

The digest() method generates a cryptographically secure digest of the given data. A digest is a short fixed-length value derived from some input data. The digest() method is commonly used to compute a checksum of data or to verify the integrity of data.

Usage

digest(algorithm, data)

Parameters

NameTypeDescription
algorithma string or object with a single name string propertyNames the hash function to use. Supported values are "SHA-1", "SHA-256", "SHA-384" and "SHA-512". Note that the SHA-1 hash function is not considered safe for cryptographic use.
dataArrayBuffer, TypedArray, or DataViewThe data to be digested.

Return Value

A Promise that resolves to a new ArrayBuffer containing the digest.

Example

JavaScript
import { crypto } from 'k6/experimental/webcrypto';

export default async function () {
  const digest = await crypto.subtle.digest('SHA-256', stringToArrayBuffer('Hello, world!'));

  console.log(arrayBufferToHex(digest));
}

function arrayBufferToHex(buffer) {
  return [...new Uint8Array(buffer)].map((x) => x.toString(16).padStart(2, '0')).join('');
}

function stringToArrayBuffer(s) {
  return Uint8Array.from(new String(s), (x) => x.charCodeAt(0));
}