我需要能够在12.04 LTS上加密/解密存储在我的外部硬盘上的单个文本文件,最好是一个图形用户界面应用程序,如果没有的话,也可以使用命令行。谢谢。
openssl
加密单个文件的简单方法如下:openssl des3 < youfile.txt > yourfile.txt.des3
openssl des3 -d < yourfile.txt.des3 > yourfile.txt.decrypted
II.i. 如果你想使用你的密钥来加密文件,而不仅仅是使用密码短语,可以使用以下命令:gpg -e -r 'yourname' message.txt
。
参数 'yourname' 应该包含你用于创建私钥的部分名称。如果你不提供 -r 参数,gpg 将会询问。你可以输入你的名称(与你在命令行上输入的相同)。
II.ii. 第 II.i 点将会给你一个二进制文件。如果你想得到一个 ASCII 文件,可以使用 --armor 参数:gpg -e -r 'yourname' --armor message.txt
。
gpg -d --output OUTPUTFILE message.txt.gpg
。如果密码正确,它将要求输入密码并解密文件message.txt.gpg到OUTPUTFILE。这个密码可以直接使用(第一点,-c
参数),也可以通过私钥使用(第二点,-e
参数)。无论是二进制(.gpg)还是ASCII(.asc)文件都适用。如果不指定--output FILE
,则输出到控制台(stdout),然后您也可以将其重定向到文件:gpg -d message.txt.gpg > OUTPUTFILE.txt
两者效果相同。8 )尝试http://www.aescrypt.com/,它很棒。
https://stackoverflow.com/questions/2811528/can-i-use-my-ssh-public-key-to-decrypt-a-file 是一个相关主题的问题。如果我没记错的话,你可以使用相同的加密原理。
gpg -a --output outfile.txt --encrypt infile.txt
Enter the user ID. End with an empty line:
“用户 ID” 可以通过运行来查找
gpg --list-keys
des3
?你可以用openssl aes-128-cbc
进行更快速、更有效的加密。 - Brendan Longman openssl
中没有提到aes-128-cbc
,不知道为什么。不过它确实有效。 - Walter Tross7C230000:error:1C800064:Provider routines:ossl_cipher_unpadblock:bad decrypt:providers\implementations\ciphers\ciphercommon_block.c:124
。 - undefined