如何使用Deno对字符串进行SHA256哈希运算
在Deno中生成字符串的SHA256哈希值(匹配指定在线工具结果)
你可以直接利用Deno内置的Web Crypto API实现,无需额外安装依赖,步骤如下:
实现代码
创建一个脚本文件(比如sha256.ts),写入以下代码:
async function generateSHA256(input: string): Promise<string> { // 将字符串转为UTF-8编码的Uint8Array(与在线工具编码方式一致) const encoder = new TextEncoder(); const rawData = encoder.encode(input); // 计算SHA-256哈希 const hashBuffer = await crypto.subtle.digest('SHA-256', rawData); // 将哈希缓冲区转换为十六进制字符串 const hashBytes = Array.from(new Uint8Array(hashBuffer)); return hashBytes.map(byte => byte.toString(16).padStart(2, '0')).join(''); } // 测试目标字符串"hello world" const hashResult = await generateSHA256('hello world'); console.log(hashResult); // 输出:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
运行脚本
在终端执行以下命令:
deno run sha256.ts
结果匹配说明
这个实现和你提到的在线工具结果完全一致,原因是:
- 两者都使用标准SHA-256哈希算法
- 都采用UTF-8编码处理输入字符串
- 最终都将哈希值转换为小写的十六进制字符串(每个字节不足两位时补前导0)
内容的提问来源于stack exchange,提问作者ThomasReggi
相关产品推荐
相关产品推荐

