You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于SHA1哈希值字节大小与字符数差异的技术疑问

关于SHA1哈希值字节数与字符数的疑问解答

你的认知确实是错误的,字符数≠原始哈希数据的字节数,核心原因在于哈希值的存储形式和展示形式的区别:

  • SHA1算法生成的原始哈希值是20字节的二进制数据:这是算法的固有属性,SHA1是160位哈希(1字节=8比特,160÷8=20字节),这个20字节是原始二进制数据的大小。
  • 你看到的40个字符是十六进制编码后的字符串:工具会把原始二进制哈希值转换成十六进制格式方便人类阅读。十六进制中,每1个字节的二进制数据可以用2个十六进制字符表示(比如二进制10101011对应十六进制AB),所以20字节×2=40个字符。
  • 字符和字节的对应关系要看编码:只有当使用单字节编码(如ASCII)表示英文字符时,1个字符才占1字节,但这里的十六进制字符串是对原始二进制数据的"翻译"展示,不是数据本身,不能直接用字符数等同于原始数据的字节数。

举个直观例子:原始哈希中的1个字节是0x4F,二进制是01001111,转成十六进制字符串就是"4F"(2个字符),但原始数据依然是1字节。

内容的提问来源于stack exchange,提问作者Victory1256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:57:02