菜单
开源

digest

digest() 方法会生成给定数据的密码安全摘要。摘要是从某些输入数据派生出的简短固定长度值。digest() 方法通常用于计算数据的校验和或验证数据的完整性。

使用

digest(algorithm, data)

参数

名称类型描述
algorithmstring 或包含单个 name 字符串属性的对象指定要使用的哈希函数。支持的值为 "SHA-1""SHA-256""SHA-384""SHA-512"。请注意,SHA-1 哈希函数不被认为适用于加密用途。
dataArrayBufferTypedArrayDataView要生成摘要的数据。

支持的算法

SHA-1SHA-256SHA-384SHA-512

返回值

一个解析为包含摘要的新 ArrayBufferPromise

示例

JavaScript
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));
}