如何使用 OpenSSL 和 AES-256 以及 SHA-256 加密文件?

如何使用 OpenSSL 和 AES-256 以及 SHA-256 加密文件?

系统:Linux Mint 18.3 Cinnamon 64 位。

OpenSSL:1.0.2g

通常,我会按如下方式加密文件:

openssl enc -aes-256-cbc -salt -in somefile -out somefile.enc

但我想知道将使用什么算法来散列我的密码以及我是否可以更改它?

答案1

我偶然发现,这里,对于openssl版本 1.1.0:

-md digest
    Use the specified digest to create the key from the passphrase. The default algorithm is sha-256.

因此,没有必要为新版本指定消息摘要算法,openssl因为它已经使用 SHA-256。

但由于我的系统上有openssl1.0.2g 版本,我进一步挖掘后发现,这里, 那:

... In OpenSSL 1.1.0 we changed from MD5 to SHA-256 ...

本质上,这意味着我openssl将默认使用旧的和过时的 MD5。

openssl幸运的是,可以使用1.0.2g 版本将其更改为 SHA-256 :

openssl enc -aes-256-cbc -md sha256 -salt -in somefile -out somefile.enc

如果您拥有的版本比我的旧,则如果上述操作失败,openssl您可能需要尝试。-md sha1

相关内容