☰
安装包没换过吗?AutoHotkey 文件哈希两行脚本出 SHA256
2026/11/4 6:12:04 网站建设 项目流程

安装包没换过吗?AutoHotkey 文件哈希两行脚本出 SHA256

【免费下载链接】AutoHotkeyAutoHotkey - macro-creation and automation-oriented scripting utility for Windows.项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey

刚下载的安装包、昨晚同步过来的备份,肉眼看不出它有没有被动过。AutoHotkey 的文件哈希功能把一个文件的 MD5、SHA1、SHA256、SHA512 摘要一次算出来,拿到官方公布的值一对,真假立现。对外分发软件、归档重要数据之前,跑一次哈希比对一下,比什么都踏实。下面从克隆仓库到批量校验,3 步拿到你手上第一个哈希值。

从克隆到出值,只要 3 步

先把项目克隆到本地磁盘,就能拿到完整源码和解决方案文件 AutoHotkeyx.sln:

git clone https://gitcode.com/gh_mirrors/au/AutoHotkey

再用 Visual Studio 打开根目录的 AutoHotkeyx.sln,选 Debug 或 Release 编译,产物是一个独立 exe,不需要额外配置。自己编译的好处是产物完全可控,Debug 版方便断点查问题,Release 版用来日常跑。

剩下写两行脚本,把文件路径和算法丢进去,取回哈希值。exe 也支持从命令行直接调用,方便挂进批处理:

; 算一个文件的 SHA256 MsgBox, FileHash("C:\downloads\setup.exe", "SHA256")

选算法:MD5 还是 SHA256

算法摘要位数一句话定位
MD5128 位快速完整性自查,兼容老系统
SHA1160 位旧版分发签名,正在被替代
SHA256256 位软件分发、安装介质校验首选
SHA512512 位高安全场景、归档与密钥相关校验

日常分发校验直接用 SHA256,MD5 只做本地快速比对。位数越高抗碰撞越强,单次计算略慢,按文件价值取用即可。

改之前先看这三个文件

读源码或排查问题前,先记这张便签:

  • string.cpp:字符串哈希实现,输入文本直接出摘要值
  • file.cpp:文件哈希实现,按块读盘边读边累积
  • functions.h:内置函数声明清单,查参数顺序和返回值类型

想搞清楚某个函数的行为,直接按文件名进目录翻实现,比到处搜快得多。

批量跑、接流水线

场景 A:循环遍历整个目录,逐个算值写进文本报告。挂到夜间计划任务,备份目录每天自查一遍,报告里哪个值对不上,哪个文件就标红处理:

LoopFiles, C:\downloads\*.exe, F FileAppend, %A_FileName% %FileHash(A_FullPath, "SHA256")`n, report.txt

场景 B:算出的值直接接进已有的备份、审计或分发脚本。把返回值丢给 FileAppend、Run 这些现成接口,塞进你已有的流程里,不用再单独开窗口对文件。比如备份完把当天所有文件的摘要追加进日志,审计时一行命令就能回查。

顺带说两个常被问到的问题。大文件不会爆内存:文件路径走分块读取,边读边累积摘要,几 GB 的盘镜像内存占用也基本恒定。文件多的时候,用 Thread 派生多条线程并发计算,每条线程认领一批文件,文件越多省下的时间越明显。

今晚就对最近下载的那个安装包跑一次 SHA256,把值存进 txt。下次更新再比一次,值不一样就知道文件被换过。

【免费下载链接】AutoHotkeyAutoHotkey - macro-creation and automation-oriented scripting utility for Windows.项目地址: https://gitcode.com/gh_mirrors/au/AutoHotkey

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询