Я шифрую файл на машине с Ubuntu с помощью openSSL, используя следующую команду:
openssl enc -aes-256-cbc -in mydbBackup.tar -out mydbBackup.enc.tar
-pass pass:scecret
Я передаю его на FTP-сервер. Теперь, когда я копирую файл с ftp на другую машину и пытаюсь расшифровать его с помощью следующей команды:
openssl enc -aes-256-cbc -d -in mydbBackup.tar -out mydbBackup.enc.tar
-pass pass:scecret
Я получаю следующую ошибку:
bad decrypt
139727625037472:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:
bad decrypt:evp_enc.c:467:
Это какая-то проблема из-за передачи файлов или невозможно расшифровать файлы, зашифрованные в другой системе?
РЕДАКТИРОВАТЬ:-
Я выполнил команду ls -l
после запуска команды decrypt с (-out decrypt.tar.gz
) и без (-out decrypt.tar.gz
) солевого аргумента, и я получил следующий вывод:
-rw-r--r-- 1 backup backup 43119360 2012-01-29 07:10 encrypt-20120128.enc.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt1.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt.tar.gz
поэтому он что-то производит, но выдает ошибку, и tar
жалуется, что полученный файл не является архивом gzip
.
ОБНОВЛЕНИЕ:- Я вычислил контрольную сумму MD5 (как предложено @Oliver Salzburg) исходного файла и одного, перенесенного с ftp, и на удивление это дает одинаковое значение для обоих файлов.
21b95cb2431c5d61c93fe642d63ca7d0