web-dev-qa-db-ja.com

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を使用しているため、メッセージダイジェストアルゴリズムを指定する意味はありません。

しかし、私のシステムにはopensslバージョン1.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を試してみることをお勧めします。

1