batch脚本如何剔除文件可变行生成稳定设备SHA256指纹
批量生成计算机唯一SHA256指纹的实现方案
你可以通过findstr的反向匹配功能剔除systeminfo输出中的动态变动字段,常见需要过滤的动态内容包含:系统启动时间、可用物理内存、可用虚拟内存、分页文件使用率等实时变动项,修改后的完整可运行代码如下:
@echo off :: 先清理旧的指纹文件 del /f /q fingerprint.txt comphash.txt 2>nul :: 过滤systeminfo的动态行后写入文件,英文系统请将引号内的中文替换为对应英文关键词 systeminfo | findstr /v /c:"系统启动时间" /c:"可用物理内存" /c:"虚拟内存: 可用" /c:"分页文件使用量" /c:"可用虚拟内存" >> fingerprint.txt echo - - - - - - - - - - - - >> fingerprint.txt :: 如果不需要过滤ipconfig内容直接保留此行,需要过滤临时地址可以添加对应的findstr规则 ipconfig >> fingerprint.txt :: 生成SHA256哈希 powershell Get-FileHash fingerprint.txt -Algorithm SHA256 > comphash.txt pause
如果需要更高的唯一性稳定性,你还可以额外调整过滤规则:
- 若不需要保留IP相关信息,可以过滤ipconfig中的IPv4、IPv6地址行,仅保留网卡物理地址(MAC)
- 可以添加wmic命令获取CPU、主板序列号等固定硬件信息,进一步提升指纹唯一性
内容的提问来源于stack exchange,提问作者user17066001
相关产品推荐
相关产品推荐

