0

0

如何计算文件校验 md5/sha校验

P粉602998670

P粉602998670

发布时间:2025-08-11 12:33:02

|

1318人浏览过

|

来源于php中文网

原创

计算文件的 md5 或 sha 校验值是为了验证文件完整性或一致性,常用于下载后核对文件是否被篡改或损坏;1. md5 生成 128 位哈希值,sha 系列如 sha-256 更安全,均具有唯一性,文件微小变动会导致校验值完全不同;2. windows 系统推荐使用 powershell 命令 get-filehash 配合 -algorithm 参数计算,支持 md5、sha256 等算法,输出包含算法名和哈希值;3. macoslinux 可在终端使用 md5、md5sum、shasum 或 sha256sum 等命令计算对应校验值,输出为哈希值后跟文件名;4. 跨平台方式包括使用在线工具(不推荐敏感文件)或编写 python 脚本调用 hashlib 模块逐块读取文件计算;5. 注意事项包括确保官方来源校验值、路径含空格时加引号、哈希值比对时不区分大小写但建议一致、大文件计算可能耗时,最终需逐字符比对确认一致性。

如何计算文件校验 md5/sha校验

计算文件的 MD5 或 SHA 校验值,是为了验证文件完整性或一致性,常用于下载后核对文件是否被篡改或损坏。不同操作系统提供了多种方式来计算这些校验值。以下是常见方法:


一、什么是 MD5 和 SHA 校验?

  • MD5:生成一个 128 位(32个十六进制字符)的哈希值,虽然现在安全性较弱,但仍广泛用于文件完整性校验。
  • SHA 系列:如 SHA-1(160位)、SHA-256(256位)等,更安全,推荐用于安全性要求较高的场景。

这些值是“数字指纹”,哪怕文件改了一个字节,校验值也会完全不同。


二、Windows 系统下计算方法

方法1:使用 PowerShell(推荐)

打开 PowerShell(右键开始菜单 → Windows PowerShell)

  • 计算 MD5:

    Get-FileHash -Path "C:\path\to\your\file.exe" -Algorithm MD5
  • 计算 SHA-256:

    Get-FileHash -Path "C:\path\to\your\file.iso" -Algorithm SHA256

支持的算法包括:MD5、SHA1、SHA256、SHA384、SHA512

输出示例:Algorithm Hash --------- ---- SHA256 A1B2C3D...Z9

方法2:使用第三方工具

如:

MotionGo
MotionGo

AI智能对话式PPT创作,输入内容一键即可完成

下载
  • HashTab(免费插件):安装后右键文件 → 属性 → 多出“Hash”标签页,直接显示各种校验值。
  • 7-Zip:部分版本在压缩文件属性中也提供校验值查看。

三、macOS / Linux 系统下计算方法

在终端(Terminal)中操作:

计算 MD5

md5 filename
# 或某些系统用:
md5sum filename

计算 SHA 系列

shasum filename           # 默认 SHA-1
shasum -a 256 filename    # SHA-256
shasum -a 512 filename    # SHA-512

Linux 常用

sha256sum
sha1sum
等命令:

sha256sum filename

输出示例:

a1b2c3d...  filename

四、跨平台工具或方式

  • 在线校验工具:可上传文件或输入哈希值比对,但不建议上传敏感或大文件

  • 编程语言脚本(如 Python):

    import hashlib
    
    def calc_md5(file_path):
        hash_md5 = hashlib.md5()
        with open(file_path, "rb") as f:
            for chunk in iter(lambda: f.read(4096), b""):
                hash_md5.update(chunk)
        return hash_md5.hexdigest()
    
    print(calc_md5("your_file.zip"))

    同理可用

    hashlib.sha256()
    sha1()
    等。


五、使用技巧和注意事项

  • 核对来源:官网或可信渠道提供的校验值才是可靠的比对基准。
  • 大小写不敏感:哈希值通常不区分大小写,但复制时建议保持一致。
  • 文件路径带空格?:用引号包裹路径,如
    "C:\My File.zip"
  • 大文件耗时:校验过程是逐字节读取,大文件(如 ISO)可能需要几秒到几分钟。

基本上就这些。日常使用中,PowerShell 或终端命令最快捷,第三方工具更直观。关键是:算出来后,和官方公布的值一个字符一个字符地比对,确保完全一致才算通过校验。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

751

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

636

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

758

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1262

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

577

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

706

2023.08.11

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号