无忧启动论坛

标题: 7-zip的哈希值能否设置大写? [打印本页]

作者: nnail    时间: 昨天 19:47
标题: 7-zip的哈希值能否设置大写?
7-zip的哈希值能否设置大写?

作者: martin313    时间: 昨天 20:15
很好的问题!

直接回答:可以,7-Zip 生成的哈希值(校验和)可以非常方便地转换为大写。

7-Zip 自带的命令行版本 7z 和图形界面版本在显示哈希值时,默认输出都是小写字母。软件本身没有提供一个直接的开关或选项来“一键切换”为大写输出。

但是,有几种非常简单的方法可以实现您想要的大写效果:

方法一:使用命令行(最灵活的方法)
如果您使用的是 7z 命令行工具,可以将其输出通过管道 (|) 传递给其他系统命令来转换大小写。

在 Windows 上(使用 CMD 或 PowerShell):

使用 tr (适用于 Windows 10 及以上版本的 PowerShell)

bash
7z h -scrcSHA256 "你的文件.zip" | tr '[:lower:]' '[:upper:]'
tr 命令用于转换字符,'[:lower:]' '[:upper:]' 表示将所有小写字母转换为大写。

使用 PowerShell 的 ToUpper() 方法

powershell
(7z h -scrcSHA256 "你的文件.zip") | ForEach-Object { $_.ToUpper() }
在 Linux 或 macOS 上(使用 Bash):

bash
7z h -scrcSHA256 你的文件.zip | tr '[:lower:]' '[:upper:]'
或者使用 awk:

bash
7z h -scrcSHA256 你的文件.zip | awk '{print toupper($0)}'
方法二:使用第三方工具或在线转换器
先用 7-Zip 生成小写的哈希值。

复制生成的哈希字符串。

将其粘贴到任何可以转换大小写的工具中:

文本编辑器:像 VS Code、Sublime Text 等现代编辑器都有转换选区大小写的功能(通常可以在右键菜单中找到)。

在线工具:搜索 “text to uppercase” 可以找到大量在线转换器。

编程语言:例如在 Python 中,只需 "哈希字符串".upper() 即可。

方法三:使用其他校验和工具
如果您经常需要大写的哈希值,也可以考虑使用其他默认输出即为大写的工具,作为 7-Zip 的替代或补充。

Windows:

CertUtil (系统自带):

cmd
certutil -hashfile 你的文件.zip SHA256
该命令默认输出就是大写。

Linux/macOS:

sha256sum / md5sum 等:

bash
sha256sum 你的文件.zip
这些工具默认输出也为小写,但可以和方法一一样用 tr 或 awk 转换,或者使用 awk 单独处理哈希值部分。

总结
方法        优点        缺点
命令行管道        灵活,可集成到脚本中,一键完成        需要记住命令
手动转换        简单,无需记忆命令        需要额外复制粘贴的步骤
使用其他工具        某些工具(如 CertUtil)默认输出大写        需要安装或学习新工具
结论:虽然 7-Zip 本身没有提供大写输出的选项,但通过系统命令管道或简单的文本转换,可以非常轻松地得到大写的哈希值。 推荐使用方法一,尤其是如果您需要批量处理文件时。
作者: 宇宙无敌锅包肉    时间: 昨天 20:45
不知道能不能啊!
作者: my9823    时间: 昨天 20:53
推荐有个busybox-w32项目,只有一个busybox.exe内置了很多linux实用工具,vi sed awk tr cpio ….都有,还有很多其他工具,体积只有几百k
作者: nnail    时间: 昨天 21:07
martin313 发表于 2025-8-22 20:15
很好的问题!

直接回答:可以,7-Zip 生成的哈希值(校验和)可以非常方便地转换为大写。

谢谢答疑………………
作者: 门口    时间: 昨天 22:28
本帖最后由 门口 于 2025-8-22 22:45 编辑

7-Zip-zstd 是有这个设置,可以设置显示大写的。
不过可惜的是,似乎新版这个设置bug了,已知22.01版本是可以的。
比较源码(CPP\7zip\UI\Common\HashCalc.cpp),似乎是删除了这段(转换大小写的)代码。
另外看源码,应该是以16个字符长度为界线默认分大小写的。
另外测试了下,如果就是要7z右键菜单中哈希字符大写,也可以把 7-Zip-zstd v22.01 中的 7zG.exe 提取并覆盖7zip目录。
当然这么做会失去新版功能和改进,如果确实要两者兼顾的话,恐怕需要自己编辑编译源码。



作者: xiazaiall    时间: 6 小时前
那个值难道不是用软件测出来的吗?还能更改大小写?
作者: winterli    时间: 6 小时前
xiazaiall 发表于 2025-8-23 09:12
那个值难道不是用软件测出来的吗?还能更改大小写?

楼主的意思应该是计算后显示的时候用大写显示,软件默认显示输出是小写。
作者: djsh001    时间: 5 小时前
我们的论坛高手云集。谢谢各位!
作者: guong    时间: 2 小时前
martin313 发表于 2025-8-22 20:15
很好的问题!

直接回答:可以,7-Zip 生成的哈希值(校验和)可以非常方便地转换为大写。

学习了 谢谢




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3