notepad++ 本身不支持计算文件哈希值;其所谓“工具→md5”菜单项是旧版插件残留或魔改版添加,v8.6+官方版本已彻底移除,任何哈希计算均需依赖certutil、sha256sum等系统原生命令。

Notepad++ 本身不支持计算文件哈希值,所谓“工具 → MD5”菜单项是旧版第三方插件残留或用户误认的界面——当前 v8.6+ 官方安装包中已彻底移除该功能,任何声称能直接在 Notepad++ 里点两下就出 SHA256 的操作,背后要么调用了外部命令,要么依赖早已失效的插件。
Notepad++ 菜单里的「MD5」选项为什么点不开或报错
你右键或点「工具」看到的 MD5、SHA 子菜单,大概率来自已卸载但注册表未清理干净的旧插件(如 NppCrypt 或早期 Hasher),或是某些绿色版/魔改版打包时硬塞进去的壳。新版 Notepad++(v7.9 起)废弃了旧插件 API,这类菜单项点击后常出现:Plugin DLL not loaded 或直接无响应。
真实情况是:Notepad++ 核心定位是文本编辑,不是文件校验工具;它连读取二进制文件都默认按 UTF-8 解码,用它“打开再算哈希”,结果早被编码转换污染了——哪怕算出来,也和原始文件字节的 MD5 对不上。
- 别信网上教程截图里那个「从文件生成」对话框:那是 2019 年前的老版本 + 插件组合,现在 Win10/Win11 上基本无法复现
- 插件管理器里搜到的「MD5 & SHA-1」插件,最后更新是 2016 年,不兼容 v8+,加载失败是常态
- 即使侥幸加载成功,它调用的是过时的 Windows CryptoAPI,对 >50MB 文件容易卡死,且不校验内存读取完整性
Windows 下最稳的原生命令:certutil -hashfile
certutil 是 Windows 自带工具(Win7 SP1+ 全默认启用),无需安装、无兼容性风险,输出与官方发布页的 SHA256 值完全一致。
- 打开 命令提示符(cmd),不是 PowerShell(PowerShell 的
Get-FileHash在某些策略下会被拦截) - 进入文件所在目录,运行:
certutil -hashfile "setup.exe" SHA256(路径含空格必须加英文双引号) - 输出共三行:第一行是提示,第二行是纯哈希值(32 字节十六进制,64 位字符),第三行是回车;真正要对比的就是第二行
- 若需脚本化提取纯哈希,用:
certutil -hashfile "app.zip" MD5 | findstr /v "hash"
注意:certutil 计算的是磁盘上原始字节,不经过任何编码转换,和官网公布的哈希值可直接比对。
macOS/Linux 用户请直接用 sha256sum 或 shasum -a 256
类 Unix 系统下,sha256sum(Linux)和 shasum -a 256(macOS)是 POSIX 标准工具,行为确定、无插件陷阱。
-
sha256sum file.bin输出格式为:<hash><space><filename></filename></space></hash>,适合写校验脚本 -
shasum -a 256 file.bin默认只输出哈希值(无文件名),更接近certutil第二行;但参数必须是-a 256,写成-a SHA256或SHA256会静默失败(返回码 1,屏幕无任何提示) - 两者都支持批量校验:
sha256sum -c checksums.sha256,只要提前用sha256sum *.exe > checksums.sha256生成清单即可
千万别用在线哈希网站校验敏感文件
这是最容易被忽略、但后果最重的一点:只要文件内容含密钥、配置、日志、用户数据,上传即等于泄露。
在线工具本质是把文件发到远程服务器,你无法验证它是否缓存、是否记录、是否被中间人嗅探。2026 年已有多个案例显示,某知名哈希比对网站后台日志留存了用户上传的数据库备份文件。
所有校验必须本地完成:certutil、sha256sum、甚至浏览器端的 Web Crypto API(如快马校验工具)都只在你机器内存中运算,文件不离设备。











