digest
注意
实验性模块
k6/experimental/webcrypto已经正式发布,其功能现在通过crypto对象在全球可用。k6/experimental/webcrypto已被弃用,并将在不久的将来移除。要迁移您的脚本,请移除
k6/experimental/webcrypto的导入,并改用crypto对象。
digest() 方法生成给定数据的加密安全 摘要。摘要是从某些输入数据派生的短固定长度值。digest() 方法通常用于计算数据的校验和或验证数据的完整性。
使用
digest(algorithm, data)参数
| 名称 | 类型 | 描述 |
|---|---|---|
algorithm | string 或带有单个 name 字符串属性的对象 | 指定要使用的哈希函数。支持的值包括 "SHA-1"、"SHA-256"、"SHA-384" 和 "SHA-512"。请注意,SHA-1 哈希函数不被认为可安全用于加密。 |
data | ArrayBuffer、TypedArray 或 DataView | 要进行摘要计算的数据。 |
支持的算法
| SHA-1 | SHA-256 | SHA-384 | SHA-512 |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
返回值
一个 Promise,它解析为一个新的包含摘要的 ArrayBuffer。
示例
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));
}

