gpg加解密批处理文件

  

pgp在做解密和加密的时候,命令行的方式总是需要手动输入密码和指定ID,比较繁琐,所以写了一个自动脚本。
比较有意思的地方是:
对本地enabledelayedexpansion变量延迟和!变量!的使用。同样的方式可以读入文本文件中不同行的内容来赋值变量

  

@echo掉   

:: todo
对本地enabledelayedexpansion
设置/j=0
/f“delims=?% % (ps.txt)我(
设置/j +=1
rem设置/j +=1
rem回声! j !
rem回声% %我
如果! j !==1组ps=% %我
rem如果! j !==2组txt=% %我

  

)
rem回声% p %
快速眼动与% txt %
设置inputfile=% 1%
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
回声解密pgp文件都门户——% inputfile %
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
回声;
设置outputfile=% inputfile: ~ 0, -28% xml输出文件
rem回声—% outputfile %

  

gpg密码% p %——解密% inputfile %比;% outputfile %
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
回声解密pgp文件成功。
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
回声加密% outputfile %与客户关键
echo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
回声;

  

gpg - r widevine_keys rm - e % outputfile %
% outputfile %

  

但是存在一个问题,在最后加密文件的时候,gpg总是出现下列提示并要求选择y/n
不是某些关键属于人名叫
用户ID。如果你真的 知道你在做什么,
你可以回答下一个问题是的。

  

使用这把钥匙呢?(y/N) y

  

查了下发现是因为关键没有信任的原因,操作如下:
gpg——编辑键key-uid
然后gpg会列出关键信息:
密钥可用。

  

酒吧2048 r/B89A8C48创建:2018-03-07到期:从不用法:SC
信任:终极有效性:终极
子2048 r/F13C4008创建:2018-03-07到期:从不用法:E
[最终](1)。杰克王& lt; widevinekeys@harman.com>

  

无效的命令(想尝试“帮助”)
gpg祝辞

  

然后输入的信任,回车会显示:
请决定多远你信任这个用户正确验证其他用户的密钥
(通过看护照,检查来自不同来源的指纹,等等)

  

1=我不知道或不认为
2=我不相信
3=我相信略微
4=我完全信任
5=我相信最终
m=回到主菜单

  

您的决定呢?
输入5,然后回车,然后加密就不会总是会有提示问题了。

  

谷歌的西弗吉尼亚州门户不久前更改了流程,之前是需要上传一个设备id的文件,然后生成的关键会根据上传的设备id(使用设备的mac地址)依次生成。但是现在不需要了,只需要输入要生成多少个键,然后设备id就默认从0开始递增。工厂生产的脚本就得修改,为了减少冲突只有写个预处理的脚本,将mac地址替换到递增的设备id。
这样脚本复杂很多,用了多为/f个循环来获取同一行中的不同段内容,然后在使用重定向输出。

  

问题汇总:
/f循环中的内部变量有时候能给外部变量赋值,有时候不行,比如num一切正常,但是当想把不同段的内容也赋值到变量str1/2/3,然后在最后通过字符串操作str1/2/3却始终有问题,str不能获得赋值。不知道原因

  

文件内容如下:
& lt; ?xml version=?.0“?在
& lt; Widevine>
& lt; NumberOfKeyboxes> 2412 & lt;/NumberOfKeyboxes>
& lt; Keybox的DeviceID=癲evice_id_0"祝辞& lt; Key> c5f4edc5ff57aff896abf7adf42c3481 & lt; ID> 000000020000206

  

脚本
/f跳过^=^=1 ^ 2 ^令牌,3 ^ delims ^=^祝辞^ & lt;在(% % % m xmlfile %) (
rem回声% % m祝辞祝辞num.txt
设置num=% % m
设置num1=% % n
goto gg

: gg
rem回声找到% num %钥匙从XML文件。
回声num=% num1%
回声num1=% num1%

  

试了试几个情况下,打印分别如下

  

/f跳过^=2 ^符号^=1 ^ 3 ^ delims ^=^祝辞^ & lt;在(% % % m xmlfile %) (

num=NumberOfKeyboxes
num1=2412

  

/f跳过^=^=1 ^ 2 ^令牌,3 ^ delims ^=^祝辞^ & lt;在(% % % m xmlfile %) (

num=NumberOfKeyboxes
num1=/NumberOfKeyboxes

  

/f跳过^=^=2 ^ 2 ^令牌delims ^=^祝辞^ & lt;在(% % % m xmlfile %) (

gpg加解密批处理文件