SHA1在 PHP 中的写法:PHP 函数与示例

74 0

SHA1 是一种哈希(散列)算法,把任意长度的数据计算成固定 160 位(20 字节)的摘要,通常写成 40 位十六进制字符串。下面重点说明PHP 函数与示例。

SHA1在 PHP 中的写法

下面是 PHP 中处理SHA1的常用写法:

echo sha1("abc");
// a9993e364706816aba3e25717850c26c9cd0d89d
echo hash_file("sha1", "file.iso");

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

示例

输入:I ♥ Unicode

计算结果:9375811416327c62365f8f902bf1f56e59e81c78

说明:对 UTF-8 字节计算 SHA1。

常见报错

  • 结果与官方不一致:文件下载不完整或被篡改,也可能比对的是另一种算法
  • 命令行结果与在线工具不同:echo 带了换行,改用 echo -n
  • Java 结果少了前导 0:用 BigInteger 转十六进制时没有补齐,应用 String.format("%040x")
  • NoSuchAlgorithmException:算法名写错,Java 中应为 "SHA-1"

乱码排查

SHA1 结果本身不会乱码,它只包含 0–9 和 a–f;如果结果“对不上”,多半是计算前的文本字符集不同,例如 Windows 程序按 GBK 计算,网页按 UTF-8 计算。

本站的SHA哈希计算器工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【空字符串的 SHA1 是多少?】da39a3ee5e6b4b0d3255bfef95601890afd80709。

【SHA1 能解密吗?】不能。SHA1 是单向哈希,没有密钥也没有逆运算;所谓解密是查已知明文的对照表,只对简单字符串有效。

【SHA1 是多少位?】160 位,即 20 字节,写成十六进制是 40 个字符。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: SHA1 文本处理

抱歉,评论功能暂时关闭!