Linux、Windows 下手动生成 sha256 等类型的校验文件
1 - 校验文件的作用
从网服务器下载文件,尤其是比较大的文件时,很容易由于网络不稳定,导致断点续传发生错误。
那要怎么确保下载文件的正确有效呢?
比较常见的做法是:提供下载服务的网站,在提供真实文件的同时,会提供该文件的校验值,比如 MD5,SHA1,SHA256 等某种格式,下载完文件后,计算它的校验值,如果和网站提供的一致,说明文件未损坏。
关于校验值:
校验值是一组 16 进制数,不区分大小写。
校验值本身只与文件内容有关,只要文件内容不改变校验值就不变,比如拷贝、移动、修改文件创建时间/访问时间、修改文件读/写/执行权限等操作都不会导致校验值发生改变。
2 - Linux 下生成校验文件
(1) 生成校验文件:
# 生成 md5 检验文件,检验文件的名称及后缀可自由定义,但一般情况下与文件名称相同:
md5sum file.tar > file.tar.md5
# 生成 sha1 校验文件:
sha1sum file.tar > file.tar.sha1
# 生成 sha256 检验文件:
sha256sum file.tar > file.tar.sha256
(2) 校验某个文件:
# 以 sha256 为例,需要待校验的文件,以及 sha256 文件:
sha256sum -c file.tar.sha256
如果输出【file.tar: OK】,说明文件校验成功。
3 - Windows 下生成校验文件
(1) Windows 自带了 certutil 工具,支持的算法有:MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512。
通过 cmd 命令行进入文件所属目录,就可以用 certutil 工具来生成需要的校验文件了:
certutil -hashfile file.zip MD5 >> MD5.txt
certutil -hashfile file.zip SHA1 >> SHA1.txt
certutil -hashfile file.zip SHA256 >> SHA256.txt
(2) 如果你安装了 Git Bash,那还可以使用类似 Linux 的命令:
sha256sum.exe file.zip >> file.zip.sha256
注意:Windows 下的方式 (1) 生成的校验文件,与 sha256sum 工具生成的校验文件不通用:
$ cat Linux.sha256
26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de file.zip
# Windows 下方式 (2) 生成的校验文件中有一个 * 号:
$ cat Win.sha256
26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de *file.zip
# Windows 下方式 (1) 生成的校验文件与 sha256sum 工具生成的文件内容明显不一致:
$ cat Win_certutil.sha256
SHA256 ▒▒ FusionInsight_UpdateService_6.5.0to6.5.1_RHEL.tar.gz ▒▒ϣ:
26088313ed187d6dbaed81601c536ba62c71109862720bc9b5f6eaba03e456de
CertUtil: -hashfile ▒▒▒▒ɹ▒▒▒ɡ▒
建议优先使用 Linux 系统下的工具生成校验文件;
若无 Linux 环境,可使用 Git Bash 等工具中的 sha256sum.exe
。
参考资料
https://blog.csdn.net/qq_28082757/java/article/details/78541581
版权声明
出处:博客园-瘦风的南墙(https://www.cnblogs.com/shoufeng)
感谢阅读,公众号 「瘦风的南墙」 ,手机端阅读更佳,还有其他福利和心得输出,欢迎扫码关注🤝
本文版权归博主所有,欢迎转载,但 [必须在页面明显位置标明原文链接],否则博主保留追究相关人士法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人