digest
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 |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
返回值
一个解析为包含摘要的新 ArrayBuffer
的 Promise
。
示例
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));
}