使用Linux进行AES文件加密/解密

18

我正在使用OpenWrt Linux发行版,并希望使用AES加密一个文件。

如何快速简便地完成加密,以及如何解密文件(或让其他人解密)?

3个回答

32

最快最简单的方法是使用 openssl 工具(由 openssl-util 包提供)。例如,要加密一个文件,请执行以下命令:

最快最简单的方法是使用openssl工具(由openssl-util包提供)。例如,要加密文件,请输入以下命令:

openssl enc -aes-256-cbc -in file.txt -out file.enc

解密:

openssl enc -d -aes-256-cbc -in file.enc -out file.dec

我正在使用OSX系统开发,在运行您所描述的两个命令时,解密过程中出现错误:"error writing output file"并且生成了一个空文件。虽然它要求输入密码,但是问题出在哪里呢? - ekkis
1
当我在Ubuntu上尝试时,会出现“解密失败”的错误。 - ekkis
@ekkis 我刚刚检查了这些命令 - 它们对我有效。确保你在有写入权限的目录中(例如 cd /tmp),并且你事先创建了要加密的源文件(file.txt)。 - Vasily G
4
根据https://security.stackexchange.com/questions/182277/is-openssl-aes-256-cbc-encryption-safe-for-offsite-backup,这可能不是最佳答案。 - Paul P
你忘记添加 -pass pass:$YOUR_AES_ENCRYPTION_PASS 了。 - Aifos Si Prahs
你忘记添加 -pass pass:$YOUR_AES_ENCRYPTION_PASS - undefined

3
“openssl”加密方案根据this不是一个好的解决方案,请不要使用它。
我过去使用过https://www.aescrypt.com/,并对其感到满意。如果你想要一些有一定历史的东西,这也不错。它还有UI和cli。
没有一个小巧、易于使用且超级简单的cli工具来实现此目的,这让我非常恼火,所以我坐下来写了这个https://github.com/ro-tex/aes256cli。我在屏幕上开着这个讨论时就开始编写了它,所以我不会声称它是多么好的解决方案。我只是想要一个零阻力地完成我需要的东西,而这对我来说已经足够好了。

0

进行编码:

cat 'yourfile' | openssl aes-128-cbc > 'encrypted file'

解码:首先,您必须记住用于编码的密码,然后:

cat 'encrypted file' | openssl enc -d -aes-128-cbc -k 'Your password' > 'decrypted file'

1
顺便说一下,您可以用 < foo 替换 cat foo | - mtraceur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接