Notepad++的MD5功能不可信,因其仅对编辑器内文本内容哈希,受编码、换行符及二进制截断影响;应使用Windows自带certutil等直接读取磁盘原始字节的工具。

Notepad++ 的 MD5 功能根本不可信
它不是校验文件本身,而是校验「当前编辑器里显示的文本内容」。这意味着:
• 二进制文件(如 .exe、.zip)被 Notepad++ 打开后变成乱码,NppCrypt 插件算的是这些乱码的哈希,和真实文件哈希值完全无关
• UTF-8 带 BOM 和无 BOM、ANSI 编码、CRLF/LF 行尾符差异,都会导致哈希值变化
• 插件在 v7.9+ 版本后默认不随安装包分发,点 工具 → MD5 没反应,大概率是根本没装上
• 即使装了,也只适合极小的纯文本文件(且需确认编码一致),对任何需要真实完整性验证的场景都不适用
Windows 自带 certutil 是最简可靠的替代方案
无需安装、直接读取原始字节,结果与官方发布的一致:
• 正确写法必须加英文双引号包裹含空格路径:certutil -hashfile "C:\My Files\app.zip" SHA256
• 输出中真正有效的哈希值总在第二行;第一行是提示文字(如 SHA256 hash of file app.zip:),第三行为空行
• 算法名大小写敏感,统一用大写更稳妥(SHA256 可行,sha256 在部分旧系统会失败)
• 想过滤头尾行,用管道配合 findstr:certutil -hashfile app.zip MD5 | findstr /v "hash"
HashCheck 是右键即用的生产力工具
它不是插件,而是 Windows Shell 扩展,集成到资源管理器上下文菜单:
• 安装后右键任意文件 → HashCheck → 选算法(MD5、SHA256、SHA512 等)→ 秒出结果
• 多文件批量校验自动并行,GB 级镜像文件几秒内完成,比单线程工具快 3–5 倍
• 支持直接粘贴已知哈希值进行比对,通过/失败一目了然
• 注意:安装脚本 dev-inst.bat 必须以普通用户权限运行;若 Notepad++ 或资源管理器以管理员身份打开,可能无法加载 HashCheck 菜单项
别把哈希值当密码,也别用它代替签名
MD5/SHA1 已被证实可碰撞,仅适合非安全场景下的快速一致性检查;SHA256 是当前通用底线,但若涉及软件分发或敏感数据,应优先使用带数字签名的哈希(如 GPG 签名的 .sha256.asc 文件)。HashCheck 和 certutil 都只做哈希计算,不验证签名——这一步必须手动用 gpg --verify 或类似工具完成。


















