如何使用 OpenSSL 使用 AES 加密文件?

Posted

技术标签:

【中文标题】如何使用 OpenSSL 使用 AES 加密文件?【英文标题】:How to encrypt a file with AES using OpenSSL? 【发布时间】:2017-11-28 16:19:20 【问题描述】:

我是 shell 脚本的新手。在我的项目中,需要以加密格式保存所有敏感数据。为此,我需要在命令行工具中打开 openssl。我尝试了以下命令 openssl aes-256-cbc -a -salt -in secrets.txt -out secrets.txt.enc 它不是要求我输入密码。它没有显示任何东西。请帮我解决这个问题。 Clik here to see the screen shot

【问题讨论】:

这个问题最好表述为“如何使用 OpenSLL 使用 AES 加密文件” How to use OpenSSL to encrypt/decrypt files?的可能重复 【参考方案1】:

openssl 没有提供任何输出,我也遇到了同样的问题。使用winpty 执行相同的操作并按预期工作:

$ winpty openssl enc -salt -aes-256-cbc -in file -out file.enc
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:

$ git --version
git version 2.14.1.windows.1

【讨论】:

我遇到了同样的问题,这对我也有用,谢谢!【参考方案2】:

如果问题确实是“如何使用 AES 加密文件”,那么我认为这行可能有效,可以从 here 或 here 找到。

openssl enc -aes-256-cbc -salt -in secrets.txt -out secrets.txt.enc

【讨论】:

非常感谢汤姆的回答。我在windows环境下工作。我在 git bash 中执行了上面的命令,没有得到任何输出。

以上是关于如何使用 OpenSSL 使用 AES 加密文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中解密 OpenSSL AES 加密的文件?

如何在 Openssl 中使用 AES 进行加密

mbedtls 和 openssl 之间的不同 AES-256 加密输出

PHP如何使用AES加密和解密

有没有办法在没有 iv 的情况下在 openssl 中运行 aes-128-cbc 加密?

Java 等效于 OpenSSL AES CBC 加密