吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4870|回复: 27
收起左侧

[其他转载] (不再更新)文件校验值计算器v1.4.1_Final(一个4KB不到的文件哈希值计算工具)

  [复制链接]
52ECHO 发表于 2021-4-15 14:20
本帖最后由 52ECHO 于 2022-2-15 12:52 编辑

文件校验值计算器

一、工具作用

1. 网上下载了软件后,需要计算文件哈希值与发布者提供的哈希值进行对比,以确认下载的是正确的、完整的文件。
2. 想要发布软件,提供文件哈希值可以让下载者可以核对下载的软件是否正确、完整,是否下载失败不完整,或是否被恶意篡改过。

二、介绍

名称:    文件校验值计算器
当前版本: v1.4.1 Final 最终版
子版本:

3in1_Lite版 计算 MD5 SHA1 SHA256 三种常用哈希值,不保存结果文件
3in1版   计算 MD5 SHA1 SHA256 三种常用哈希值,自动保存结果文件到当前目录
7in1版   计算 MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 七种哈希值,自动保存结果文件到当前目录
v1.4各版本已支持以文件夹为目标进行计算

使用方法:

方法1、将文件拖动到脚本上,一次最多拖 9 个文件。
方法2、右击文件使用菜单“发送到” ->“计算文件校验值并保存到当前目录3in1.cmd” (推荐)

关于:   本工具基于Windows CertUtil 证书工具制作。

三、截图与说明

1、 第一次使用,双击 文件校验值计算器v1.3_3in1.cmd,自动安装到右键“发送到”菜单。

3in1.jpg

2、选中需要计算的文件 -> 右键 -> 发送到 -> 计算文件校验值并保存到当前目录3in1.cmd

use.jpg

3、结束后自动弹出计算结果并保存在当前目录。

out.jpg

四、下载

文件校验值计算器v1.4.1_Final.zip @2021.05.09
蓝奏云:
https://echowyf.lanzoui.com/b0d8yfczi 密码:1grn

文件名称:   文件校验值计算器v1.4.1_3in1.cmd
文件大小:   0.004 MB (3904 字节)
修改时间:   2021/05/09 09:34
MD5:        C2E1E16D04FE0351DCEB7A19830500A5
SHA1:       7CDC83A354D33F264257E4C3D0CA9D0AA6EB5F15
SHA256:     8041D9E4008AF6DF7501D9AA8F414A19A8C59115A5E6132E2C8BB7A619567558

文件名称:   文件校验值计算器v1.4.1_7in1.cmd
文件大小:   0.004 MB (4172 字节)
修改时间:   2021/05/09 09:34
MD5:        D5ED9B5349CB28A1548A8116708A468B
SHA1:       102E06E1C7D738D3F09D58AFEBF98ADD83BB78C3
SHA256:     BD0B95537CD94B78AB75681D1930906C8B94C1D585F38FA94624E85128B86059

文件名称:   文件校验值计算器v1.4_Lite.cmd
文件大小:   0.004 MB (3606 字节)
修改时间:   2021/04/18 23:24
MD5:        A6080B8BC23910DC35AFFE657C531BB2
SHA1:       EE47BA5637B2479D4641AB7498DE458FC096F375
SHA256:     72F87D2814B61D7E73282549A8634D4EF8F76333E2DA4049BD51ED342F5BE091

五、日志

v1.4.1        2021.05.09

1、修复hash结果文件名中时间生成算法中的bug中有空格
原来如果时间是上午10点前,时间中会有空格,进而产生bug。

v1.4 Final        2021.04.18

1、增加 将文件夹 发送到 文件校验值计算器 的支持。
2、3in1版和7in1版 效果为:计算文件夹下所有文件(不含子文件夹)的校验值,并将结果保存于文件夹下。
3in1_Lite版 效果为:计算文件夹下所有文件(不含子文件夹)的校验值,不保存结果文件到目录。

v1.3        2021.04.14

1、计算结束自动在默认txt阅读器中打开
2、校验值txt文件存于文件当前目录
3、空白文件不计算
4、目录不计算
5、区分3个小版本
3in1_Lite版 计算 MD5 SHA1 SHA256 三种常用哈希值,不保存结果文件
3in1版        计算 MD5 SHA1 SHA256 三种常用哈希值,自动保存结果文件到当前目录
7in1版        计算 MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512 七种哈希值,自动保存结果文件到当前目录

v1.2        2021.04.14

1、计算结束自动在默认txt阅读器中打开
2、校验值txt存于文件当前目录

v1.1        2021.04.14

1、添加到右键“发送到”菜单快捷使用方式

v1.0        2021.04.14

1、计算文件的 MD5 SHA1 SHA256 值

六、源码

既然被规定移动到源码区了,那就贴下文件校验值计算器v1.4_3in1的源码吧,其他版本源码请直接下载查看。

bat源码
@ECHO OFF&TITLE 文件校验值计算器v1.4_3in1 by.52Echo

if not %1.==. GOTO:_START
color 0e & ECHO. & ECHO. 没有文件要计算校验值!& ECHO.
ECHO. 请右击文件使用菜单“发送到” -^>“计算文件校验值并保存到当前目录3in1.cmd”...& ECHO.
copy /y "%~f0" "%APPDATA%\Microsoft\Windows\SendTo\计算文件校验值并保存到当前目录3in1.cmd" >nul 2>nul & pause & EXIT /B 1

:_START
setlocal enabledelayedexpansion
mode con: cols=80 lines=20

SET "hash_out_MD5=MD5:        "
SET "hash_out_SHA1=SHA1:       "
SET "hash_out_SHA256=SHA256:     "

IF NOT EXIST "%~1" GOTO:_END
set str_date=%date:~,4%-%date:~5,2%-%date:~8,2%
set str_time=%time:~,2%-%time:~3,2%-%time:~6,2%
set str_dt=%str_date%_%str_time%
set str_dt=%str_dt: =%
SET "TEMP_FILE=Hash_%str_dt%.txt"
CALL:HashCalc "%~1"

IF NOT EXIST "%~2" GOTO:_END
CALL:HashCalc "%~2"

IF NOT EXIST "%~3" GOTO:_END
CALL:HashCalc "%~3"

IF NOT EXIST "%~4" GOTO:_END
CALL:HashCalc "%~4"

IF NOT EXIST "%~5" GOTO:_END
CALL:HashCalc "%~5"

IF NOT EXIST "%~6" GOTO:_END
CALL:HashCalc "%~6"

IF NOT EXIST "%~7" GOTO:_END
CALL:HashCalc "%~7"

IF NOT EXIST "%~8" GOTO:_END
CALL:HashCalc "%~8"

IF NOT EXIST "%~9" GOTO:_END
CALL:HashCalc "%~9"

:_END
IF EXIST %TEMP_FILE% start %TEMP_FILE%
ECHO.&ECHO.2秒后自动关闭...&timeout /t 2 >nul
EXIT /B 0

:HashCalc _path
IF NOT EXIST "%~1\" CALL:CalcAll "%~1" &EXIT /B 0
pushd "%~1\"
FOR %%i in (*) do CALL:CalcAll "%%i"
IF EXIST %TEMP_FILE% start %TEMP_FILE%
popd
EXIT /B 0

:CalcAll _file
ECHO.正在计算文件: %1
CALL:Show_file %1>>%TEMP_FILE%
IF %~z1==0 ECHO.空白文件,不做计算!&EXIT /B 2
CALL:Calc %1 MD5>>%TEMP_FILE%
CALL:Calc %1 SHA1>>%TEMP_FILE%
CALL:Calc %1 SHA256>>%TEMP_FILE%
ECHO.>>%TEMP_FILE%
ECHO.完成.
EXIT /B 0

:Calc _file _Algorithm
SET "index=0"
FOR /F "delims=" %%a in ('certutil -hashfile %1 %2') do (
        SET /A "index+=1"
        IF !index!==2 SET hash=%%a&SET hash=!hash: =!
)
FOR %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do CALL SET hash=%%hash:%%i=%%i%%
ECHO.!hash_out_%2!%hash%
EXIT /B 0

:Show_file
ECHO.文件名称:   %~nx1
SET fz0=%~z1
SET /A "fz1=fz0/1048576"
SET /A "fz2=(fz0-fz1*1048576+512)/1024"
IF %fz2% GEQ 100 SET fz=%fz1%.%fz2%&GOTO:fz_end
IF %fz2% GEQ 10 SET fz=%fz1%.0%fz2%&GOTO:fz_end
SET fz=%fz1%.00%fz2%&GOTO:fz_end
:fz_end
ECHO.文件大小:   %fz% MB (%~z1 字节)
ECHO.修改时间:   %~t1
IF %~z1==0 ECHO.            空白文件,不做计算!&ECHO.
EXIT /B 0

七、更新说明

2020.04.18 发布 v1.4 最终版。

已支持直接将文件夹作为发送到计算校验值目标
功能为计算文件夹一级目录下所有文件哈希值。
不计算子文件夹

2021.05.09 修复bug

修复hash结果文件名中时间生成算法中的bug中有空格
原来如果时间是上午10点前,时间中会有空格,进而产生bug。
Lite版无影响

不再更新,转用7-zip的Hash值文件生成菜单了。

免费评分

参与人数 3吾爱币 +2 热心值 +3 收起 理由
TSF + 1 + 1 用心讨论,共获提升!
0821fzh + 1 + 1 谢谢@Thanks!
Gzsod + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 52ECHO 发表于 2021-4-15 14:24
本帖最后由 52ECHO 于 2021-10-14 08:54 编辑

TODO
v1.4
1、增加 将文件夹 发送到 文件校验值计算器 的支持。
        效果为计算文件夹下所有文件的校验值,并将结果保存于文件夹下。

你们觉得仅文件夹下,还是文件夹的子文件夹下也一起递归进去算一遍?有点怕有人直接右键C盘(手动捂脸)
2020.04.15

TODO @2021.10.14
1、修改文件大小超过2GB是无法正确计算的bug
2、修改 hash值输出为 每个源文件名.hash.txt
staty 发表于 2021-11-24 09:59
win7 64 不计算哈希值:
文件名称:   twrp-3.5.2_9-0-dipper.img
文件大小:   42.580 MB (44634112 字节)
修改时间:   2021-11-24 周三 09:48
MD2:        A=A
MD4:        A=A
MD5:        A=A
SHA1:       A=A
SHA256:     A=A
SHA384:     A=A
SHA512:     A=A

mnbjkl1024 发表于 2021-4-15 14:23
L__ 发表于 2021-4-15 14:37
谢谢分享
碎步流年 发表于 2021-4-15 14:49
不错,挺小的
lostlq 发表于 2021-4-15 15:23
是不是再次运行取消右键注册好一些
leskady 发表于 2021-4-15 16:12
不错,挺实用的,谢谢楼主分享。
 楼主| 52ECHO 发表于 2021-4-15 18:34
lostlq 发表于 2021-4-15 15:23
是不是再次运行取消右键注册好一些

不是给了取消注册的脚本了么。一般不需要取消,所以单独提供了。
第一品霄 发表于 2021-4-16 00:05
功能什么的很实用了
atrago 发表于 2021-4-17 08:21
小巧方便 挺不错的呀
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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