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

使用sha1sum校验校验和时,文本模式与二进制模式的差异

sha1sum文本模式与二进制模式的区别

嗨,我之前也踩过这个坑,正好跟你聊聊这俩模式的核心区别:

  • 换行符处理是核心差异
    文本模式(默认-t)下,sha1sum会自动把文件里的Windows风格换行符\r\n转换成Unix/Linux的\n后再计算哈希;而二进制模式(-b)会原封不动读取文件的每一个字节,包括所有的\r和\n组合,完全不做转换。
    举个实际例子:一个Windows生成的文本文件,里面有10行内容,就会有10个\r\n,文本模式计算时会把这些都变成\n,相当于少了10个\r字节,最终哈希自然不一样。

  • 直接影响跨平台校验的准确性
    如果你从官网拿到的校验和是用二进制模式生成的(比如官网在Windows环境下生成,或者明确标注是二进制哈希),那你在Unix系统用默认文本模式去校验肯定会失败——因为换行符的转换已经改变了文件的实际字节流。反过来,如果校验和是文本模式生成的,那你也得用对应模式去校验。

从你贴的sha1sum --help输出里也能看到细节:

默认模式下,每行输出包含校验和、一个空格、表示输入模式的字符(二进制为'*',文本或二进制无影响时为' ')以及文件名。

也就是说,你看校验和结果行的第二个字符(空格或*),就能知道这个哈希是用哪种模式生成的,方便你校验时选对应模式。

比如你下载了一个Windows的exe安装包,用默认的sha1sum xxx.exe算出来的哈希和官网对不上,别慌,试试sha1sum -b xxx.exe,大概率就能匹配上了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:55:34