使用GPG无密码提示解密文件失败,寻求解决方案
解决GPG无弹窗解密的命令错误问题
嘿,我看你在尝试用GPG实现无弹窗解密文件时踩了个参数用法的坑,咱们来一步步搞定它:
问题出在哪?
你用的命令里,--passphrase-fd的用法不对。这个参数需要指定文件描述符(比如0代表标准输入),但你直接把重定向符号<跟在它后面,导致GPG没法正确解析命令结构,所以才会弹出“no command supplied”的警告。
两种正确的解决办法
方法1:用更直观的--passphrase-file参数
直接告诉GPG密码存在哪个文件里,不用折腾文件描述符,简单易懂:
gpg --batch --passphrase-file "C:\Temp\test.txt" --decrypt ECUIDs-104066317-2018-03-09-09-10-15-500K_0000000000.bin
方法2:正确使用--passphrase-fd
如果你坚持要用这个参数,得明确指定文件描述符为0(也就是标准输入),然后把密码文件的内容重定向到标准输入里:
gpg --batch --passphrase-fd 0 --decrypt ECUIDs-104066317-2018-03-09-09-10-15-500K_0000000000.bin < "C:\Temp\test.txt"
额外小提示
- 确保
C:\Temp\test.txt里只有密码,别多出来换行符,不然可能会导致密码验证失败哦。 - 如果想把解密后的内容直接存到文件里,加个输出重定向就行:
gpg --batch --passphrase-file "C:\Temp\test.txt" --decrypt ECUIDs-104066317-2018-03-09-09-10-15-500K_0000000000.bin > decrypted_result.bin
内容的提问来源于stack exchange,提问作者Srinivas Reddy
相关产品推荐
相关产品推荐

