我们从网上下载一些大文件的时候,受限于网络和下载客户端的影响,有时候会出现文件损坏的情况,为了确保文件是完整可靠的,此时就需要通过一些手段来验证文件有没有损坏或者遭到篡改。对于软件发布来说,最有效的办法是添加数字签名,而对于普通文件来说是没法添加的,但是可以通过一些加密算法来验证文件的唯一性。
哈希的英文是 hash ,中文可以翻译为散列,就是采用设定好的算法对输入的数据(在此指文件内容)进行计算得到一串字符串输出结果的方法。使用的算法又称为哈希函数或哈希算法,关于哈希算法的研究属于密码学的研究领域。
哈希计算是一种单向密码算法,即从明文到密文是不可逆的,只有加密过程,没有解密过程。哈希算法的结果通常很小,一般为 32位 或 64位 十六进制字符串等形式。哈希算法的特点之一是高灵敏性,也就是说输入数据的微小变化,哈希算法输出结果就会完全不同。
哈希算法可以用来校验接受者接收到的信息或数据的准确性。官方在发布软件的时候,可以同时发布该软件的哈希值,以便于用户辨别真伪是否官方原版。用户可以将下载软件通过哈希工具进行处理,将得到的哈希值与官方发布的哈希值进行比对,即可校验软件是否是被篡改过。
经过密码学专家多年的研究,目前通用流行的哈希算法只有几种,主要是 MD5 SHA1 SHA256 ,其实研究出的哈希算法还有一些,但被大家广泛采用的主要就这几种。
下面介绍一下计算哈希值的几种工具:
一、微软 Windows 系统自带的 CMD 命令行工具
命令行工具叫做 certutil ,它的参数很多,功能很强大,计算文件哈希值的运行语法是:
certutil -hashfile filename MD5 //检验MD5 certutil -hashfile filename SHA1 //检验SHA1 certutil -hashfile filename SHA256 //检验SHA256
其中 filename 是要校验的文件名称,后面是哈希算法名,支持的哈希算法包括 MD2、MD4、MD5、SHA1、SHA256、SHA384、SHA512 等,”//” 后面是注释说明,使用时不需要输入,运行示例如下图所示:
二、微软 Windows 系统自带的 PowerShell 命令行工具
微软 Windows 系统自带PowerShell,计算文件哈希值的命令是 get-filehash,使用方法示例如下:
get-filehash filename -Algorithm MD5 | Format-List get-filehash filename -Algorithm SHA1 | Format-List
-Algorithm 后面是哈希算法名,支持MD5、SHA1、SHA256、SHA384、SHA512、MACTripleDES、RIPEMD160 等多种哈希算法, | Format-List ,是为了美化输出结果样式,也可以不用写 。
为了方便使用,我们做成了右键菜单项,可以快捷地使用该命令计算希哈值。
三、MyHash 是一款采用并行计算,充分利用多核CPU性能,快速计算文件哈希值的工具
功能特点:
1、只支持常用的CRC32、MD5、SHA1、SHA256、SHA512算法;
2、支持多核CPU并行计算,大幅提高计算速度;
3、支持多个文件或文件夹拖放操作;
4、支持参数启动(参数为一个或多个文件或文件夹路径);
5、支持保存个人设置(默认保存在注册表,如果存在同名ini文件,则保存在ini文件);
6、支持哈希值比较(字符串查找功能);
7、支持停止、重新开始计算操作;
8、支持Windows7任务栏进度条效果;
发布地址(非开源):
https://github.com/drag0n-app/MyHash
四、Fhash 是一个开源的希哈值计算器,支持 Windows 和 macOS 平台,并且上架了微软应用商店.
功能特点
- 支持 MD5, SHA1, SHA256 和 SHA512.
- 支持文件拖拽.
- 支持添加右键菜单,并且商店应用版支持新版右键菜单.
- 支持 Windows 7 (仅 2.x), Windows 10 (1903) 或更高版本 (x64 和 arm64).
- 支持 macOS 11 或更高版本.
- 支持黑暗模式.
- 支持中英文界面切换.
项目地址:
https://github.com/sunjw/fhash
应用商店地址:
https://apps.microsoft.com/store/detail/fhash/9P4CLCRV93DQ
经典版
应用商店版
五、软媒文件大师 v1.1.6.0
软媒文件大师是一款电脑文件管理工具,软件提取自软媒魔方,体积非常小巧只有400K,软件功能非常实用,具有文件粉碎、文件检验、文件分割合并、文件解锁以及图片种子合成等多种功能,能帮助用户很好的对文件进行管理。
官方网站:
https://mofang.ruanmei.com/
六、开源的 HashTool,基于 C# 语言开发,Visual Studio 构建
HashTool 支持文件、文件夹或文本的哈希计算,选择多种算法时采用并行计算,此外还提供了结果导出和对比框校验功能,支持高分辨率 DPI 的屏幕,但是有点小问题有时候无缘无故遇到 Bug 崩溃。
功能介绍:
- 模式:共有 3 种模式(文件、文件夹、文本)。其中“文件夹”模式下只会计算此文件夹内的文件,不会计算其子文件夹内的文件。
- 输入:在上面的输入框输入“文件路径”、“文件夹路径”或“文本”,并选择相应模式进行计算。可以拖放“文件”或“文件夹”到此自动获取路径,也可以点击右上角“浏览…”按钮获取“路径”。
- 算法:提供了多种算法(
CRC32
、MD4
、MD5
、SHA1
、SHA2 系列
、SHA3 系列
、Blake2B 系列
、Blake2S 系列
、Keccak 系列
、QuickXor
)。 - 字符编码:在文本模式下,可以选择文本的编码格式。
- 查看结果:查看当前的计算结果,在“查看结果”按钮的下拉栏里有“查看历史结果”用来查看全部历史结果。
- 保存结果:支持 4 种格式:
yaml
、json
、txt
和xml
。在“保存结果”按钮的下拉栏里有“保存历史结果”用来保存全部历史结果。 - 对比。在最下方的两个文本框输入哈希值自动对比,不区分大小写。
- 进度条:主进度条显示计算当前任务进度,左侧副进度条用来显示总体任务进度。
项目地址:
https://gitee.com/KiyanYang/HashTool/
七、Hash v1.04 小巧玲珑仅 29KB 大小
这个软件历史比较悠久了,软件非常小巧,仅 29KB 大小,汉化版 67KB大小,缺点就是支持的算法少,不支持高分辨率。
官方网站:
https://keir.net/software.html
八、Hasher Pro 3.3.0 一个中规中矩的希哈值计算器
官方网站:
http://www.den4b.com/products/hasher
九、开源 HashCheck 属性标签页集成式希哈值计算器
前面介绍的都是独立软件形式的,还有的是资源管理器插件形式的,就是开源的 HashCheck,属性标签页集成。
如何卸载?该软件需要在控制面板的程序与功能里面卸载。
项目地址:
https://code.kliu.org/hashcheck/
新项目地址:
https://github.com/gurnec/HashCheck
十、HashTab v6.0.0.34 属性标签页集成式希哈值计算器
和上一个差不多,不过这是一个商业软件。
下载地址
介绍了那么多 Hash 希哈值计算工具,下面汇总了这些软件安装包,大家可以选择合适的软件使用。
好软推荐·文件校验 Hash 希哈值计算小工具汇总分享
百度网盘:https://pan.baidu.com/s/1HJii1OslsxL-cOlZC5iTHw?pwd=z5ar
123云盘:https://www.123pan.com/s/PjcA-mfNRA.html
夸克云盘:https://pan.quark.cn/s/16d7fa0173ee
评论前必须登录!
注册