Как зашифровать файл с помощью OpenSSL и AES-256 с SHA-256?
Система: Linux Mint 18.3 Cinnamon 64-bit.
OpenSSL: 1.0.2 г
Обычно я бы зашифровал файл следующим образом:
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.
К счастью, это можно изменить на SHA-256 с openssl
версия 1.0.2g:
openssl enc -aes-256-cbc -md sha256 -salt -in somefile -out somefile.enc
Если у вас есть старше openssl
версия, чем я, вы можете попробовать -md sha1
, если вышеуказанное не удается.