哈希计算(MD5 / SHA)

计算 SHA-1/256/384/512 与 MD5 摘要

浏览器内运算Hash Generator工具型03编码与加密

什么是哈希计算(MD5 / SHA)

哈希计算工具对输入文本生成 MD5、SHA-1、SHA-256、SHA-384、SHA-512 摘要,用于校验文件一致性或比对签名。计算使用浏览器原生 Web Crypto,输入内容不会离开本机。

怎么用哈希计算(MD5 / SHA)

  1. 1输入要计算摘要的文本。
  2. 2查看各算法的十六进制结果,可单独复制其中一行。
  3. 3与对方给出的摘要逐字符比对,注意大小写不影响判断。
  4. 4需要带密钥的签名时改用 HMAC 工具。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

const sha256 = async (text) => {
  const buf = await crypto.subtle.digest(
    'SHA-256',
    new TextEncoder().encode(text),
  );
  return [...new Uint8Array(buf)]
    .map((b) => b.toString(16).padStart(2, '0'))
    .join('');
};

常见错误与排查

现象成因修复
命令行结果和工具结果不一致echo 默认在末尾追加换行符,多了一个字节。使用 echo -n 或 printf 去掉尾部换行。
中文内容摘要与后端不一致两端使用的字符编码不同(UTF-8 与 GBK)。统一按 UTF-8 编码后再计算。

常见问题

MD5 还能用吗?+

只能用于非安全场景的一致性校验,例如比对文件是否传输完整。MD5 与 SHA-1 都已被证明可构造碰撞,不可用于密码存储、数字签名或任何安全边界判断,密码存储应使用 bcrypt、scrypt 或 Argon2。

哈希能被还原成原文吗?+

哈希是单向的,无法逆运算。但对于短文本或常见密码,攻击者可以用彩虹表反查,所以对密码做哈希时必须加随机盐,并使用专为密码设计的慢哈希算法。

相关工具

全部工具