无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 206|回复: 13
打印 上一主题 下一主题

[发布] 哈希值验证、对比的鼠标右键bat批处理

[复制链接]
跳转到指定楼层
1#
发表于 8 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 呆萌鼠 于 2025-10-31 23:08 编辑

哈希值验证、对比的鼠标右键bat批处理

   对于经常使用哈希值验证的人可能比较方便,今天用豆包和deepseek花一上午制作完成,,有什么问题可以提出来共同探讨,希望各位大佬批评指正!

  Windows系统里面就有程序可以计算文件的哈希值,对win10、win11没有问题,其他系统有的有,有的没有。我们知道哈希值大小写对验证结果没有影响,而且现在MD5和SHA-1有漏洞已弃用,大多数人都在用SHA-256,所以根据以上制作了方便使用的bat批处理,只针对单个文件的哈希值验证,不分大小写,都可以一下验证对比给出结果。
1 先复制作者的哈希值的验证bat

  1. @echo off
  2. chcp 65001 >nul 2>&1  :: 支持中文路径
  3. setlocal enabledelayedexpansion

  4. :: 1. 检查文件是否存在
  5. if not exist "%~1" (
  6.     echo 错误:文件不存在!
  7.     echo 路径:%~1
  8.     pause
  9.     exit /b 1
  10. )

  11. :: 2. 读取剪贴板中的作者哈希值(预先复制好)
  12. echo 正在读取剪贴板中的作者哈希值...
  13. for /f "delims=" %%i in ('powershell -Command "Get-Clipboard -Format Text" 2^>nul') do (
  14.     set "author_hash=%%i"
  15. )

  16. :: 检查剪贴板是否有内容
  17. if "!author_hash!"=="" (
  18.     echo 错误:剪贴板中未检测到哈希值,请先复制作者公布的哈希值!
  19.     pause
  20.     exit /b 1
  21. )

  22. :: 处理作者哈希值(去空格)
  23. set "author_hash=!author_hash: =!"

  24. :: 3. 计算文件的SHA-256哈希值
  25. echo 文件名:%~nx1
  26. echo 路径:%~1
  27. echo ---------------------------
  28. echo 正在计算文件的SHA-256哈希值...

  29. for /f "skip=1 delims=" %%a in ('certutil -hashfile "%~1" sha256') do (
  30.     set "calc_hash=%%a"
  31.     set "calc_hash=!calc_hash: =!"  :: 去除空格
  32.     goto :hash_done
  33. )
  34. :hash_done

  35. :: 4. 统一转小写,消除大小写影响
  36. for /f "delims=" %%i in ('powershell -Command "$env:calc_hash.ToLower()"') do set "calc_hash_lower=%%i"
  37. for /f "delims=" %%i in ('powershell -Command "$env:author_hash.ToLower()"') do set "author_hash_lower=%%i"

  38. :: 5. 自动对比并显示结果
  39. echo ---------------------------
  40. echo 本地计算哈希值:!calc_hash_lower!
  41. echo 剪贴板作者哈希值:!author_hash_lower!
  42. echo ---------------------------

  43. if "!calc_hash_lower!"=="!author_hash_lower!" (
  44.     echo 对比结果:^√ 哈希值一致,文件完整无篡改!
  45. ) else (
  46.     echo 对比结果:^× 哈希值不一致,文件可能已损坏或被篡改!
  47. )

  48. echo ---------------------------
  49. pause
复制代码


2后复制作者的哈希值的验证bat

  1. @echo off
  2. chcp 65001 >nul 2>&1  :: 支持中文路径
  3. setlocal enabledelayedexpansion

  4. :: 1. 检查文件是否存在
  5. if not exist "%~1" (
  6.     echo 错误:文件不存在!
  7.     echo 路径:%~1
  8.     pause
  9.     exit /b 1
  10. )

  11. :: 2. 计算SHA-256哈希值并提取纯哈希字符串
  12. echo 文件名:%~nx1
  13. echo 路径:%~1
  14. echo ---------------------------
  15. echo 正在计算SHA-256哈希值...

  16. :: 提取纯哈希值(跳过首行提示,去除空格)
  17. for /f "skip=1 delims=" %%a in ('certutil -hashfile "%~1" sha256') do (
  18.     set "calc_hash=%%a"
  19.     set "calc_hash=!calc_hash: =!"  :: 去除哈希值中的空格
  20.     goto :hash_done
  21. )
  22. :hash_done

  23. :: 3. 显示并复制哈希值到剪贴板
  24. echo SHA-256哈希值:!calc_hash!
  25. echo (已自动复制到剪贴板,可直接粘贴对比)
  26. echo ---------------------------
  27. echo !calc_hash! | clip

  28. :: 4. 手动粘贴作者哈希值并处理
  29. set /p "author_hash=请粘贴作者公布的SHA-256哈希值:"
  30. set "author_hash=!author_hash: =!"  :: 去除作者哈希值中的空格

  31. :: 【关键修复】统一将两个哈希值转成小写(彻底解决大小写问题)
  32. for /f "delims=" %%i in ('powershell -Command "$env:calc_hash.ToLower()"') do set "calc_hash_lower=%%i"
  33. for /f "delims=" %%i in ('powershell -Command "$env:author_hash.ToLower()"') do set "author_hash_lower=%%i"

  34. :: 5. 对比结果并提示
  35. if "!calc_hash_lower!"=="!author_hash_lower!" (
  36.     echo ---------------------------
  37.     echo 对比结果:^√ 哈希值一致,文件完整无篡改!
  38. ) else (
  39.     echo ---------------------------
  40.     echo 对比结果:^× 哈希值不一致,文件可能已损坏或被篡改!
  41.     echo 本地计算值(小写):!calc_hash_lower!
  42.     echo 作者提供值(小写):!author_hash_lower!
  43. )

  44. echo ---------------------------
  45. pause
复制代码


将bat文件移动到需要存储的位置后用鼠标右键管理器ContextMenuManager添加到右键菜单即可。

先复制作者的哈希值的验证bat的使用方法:
     第一步复制作者的哈希值 第二步 鼠标右键点击需要验证的文件,再点击添加的菜单项,等待就会计算并且对比验证出结果。

后复制制作者的哈希值的验证bat的使用方法:就是将上面的顺序倒过来
     第一步鼠标右键点击需要验证的文件,再点击添加的菜单项,cmd终端会计算出哈希值,这时候会提示将作者的哈希值粘贴进来。第二步复制作者的哈希值并且粘贴进cmd对话框并回车,会立刻出对比结果。

我个人比较喜欢1先复制作者的哈希值的验证代码的方法,等待计算结束就出验证结果。
不太会操作的新手可以下载我制作好的一键导入注册表即可
地址:https删除://wwcg.lanzouu.删除com/i86ov39sdnif密码:4kdd

和7-Zip计算的哈希值对比操作图


点评

感谢分享!  发表于 4 小时前
2#
发表于 8 小时前 | 只看该作者
谢谢您的分享!
回复

使用道具 举报

3#
发表于 8 小时前 | 只看该作者
谢谢分享!
回复

使用道具 举报

4#
发表于 8 小时前 | 只看该作者
感谢分享!
回复

使用道具 举报

5#
发表于 8 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

6#
发表于 7 小时前 | 只看该作者
支持原创
回复

使用道具 举报

7#
发表于 7 小时前 | 只看该作者
看看
回复

使用道具 举报

8#
发表于 7 小时前 | 只看该作者
很不错,有空测试一下
回复

使用道具 举报

9#
发表于 7 小时前 | 只看该作者
感谢分享···
回复

使用道具 举报

10#
发表于 6 小时前 | 只看该作者
感谢辛苦分享!
回复

使用道具 举报

11#
发表于 5 小时前 | 只看该作者
学习一下
回复

使用道具 举报

12#
发表于 4 小时前 | 只看该作者
感谢分享
回复

使用道具 举报

13#
发表于 2 小时前 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-10-31 23:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表