使用gpg传递密码文件解密文件
Use gpg to pass the passphrase file to decrypt the files
我需要使用 shell 从文件传递密码,并希望注释行可以从该文件中读取密码,--passphrase-fd 对我不起作用。它总是输出一个错误"can not find the file"。我调试了输出和输入文件,它们是正确的。可能是passphrase.cat这个文件,不过我查了一下,这个文件没有问题。评论区有问题吗??
我的代码如下,感谢您的帮助:
Shell(pgp & "--passphrase -fd 0 <C:\Temp\test.txt" & " -output " & output & "--decrypt " & input & """", AppWinStyle.Hide, True) ' the error happens here.
End If
''' The error as follows:
''' Unable to complete the request: System.IO.FileNotFoundException: File not found. at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout) at the Sign_Click(object sender, EventArgs e) in C:\sign\MainForm.vb:line361
我预计会有一大堆问题。为了进一步调试,将命令打印到命令行而不是用 Shell(...)
.
执行
- 我猜
pgp
变量没有以 space 结尾,因此应用程序尝试执行类似 C:\path\to\gnupg\gpg.exe--passphrase
而不是 C:\path\to\gnupg\gpg.exe
和 --passphrase
参数
output
变量和 --decrypt
命令之间可能存在同样的问题
--passphrase-fd
里面可能没有space,你写了passphrase -fd
--output
是一个长参数,需要两个破折号(你写的是-output
)
我终于明白了。必须使用 -passphrase-file passwordfile.txt 来解密我在应用程序中的文件。
我需要使用 shell 从文件传递密码,并希望注释行可以从该文件中读取密码,--passphrase-fd 对我不起作用。它总是输出一个错误"can not find the file"。我调试了输出和输入文件,它们是正确的。可能是passphrase.cat这个文件,不过我查了一下,这个文件没有问题。评论区有问题吗??
我的代码如下,感谢您的帮助:
Shell(pgp & "--passphrase -fd 0 <C:\Temp\test.txt" & " -output " & output & "--decrypt " & input & """", AppWinStyle.Hide, True) ' the error happens here.
End If
''' The error as follows:
''' Unable to complete the request: System.IO.FileNotFoundException: File not found. at Microsoft.VisualBasic.Interaction.Shell(String PathName, AppWinStyle Style, Boolean Wait, Int32 Timeout) at the Sign_Click(object sender, EventArgs e) in C:\sign\MainForm.vb:line361
我预计会有一大堆问题。为了进一步调试,将命令打印到命令行而不是用 Shell(...)
.
- 我猜
pgp
变量没有以 space 结尾,因此应用程序尝试执行类似C:\path\to\gnupg\gpg.exe--passphrase
而不是C:\path\to\gnupg\gpg.exe
和--passphrase
参数 output
变量和--decrypt
命令之间可能存在同样的问题--passphrase-fd
里面可能没有space,你写了passphrase -fd
--output
是一个长参数,需要两个破折号(你写的是-output
)
我终于明白了。必须使用 -passphrase-file passwordfile.txt 来解密我在应用程序中的文件。