解密 DES CBC 和 ECB 错误:Bad Magic Number

解密 DES CBC 和 ECB 错误:Bad Magic Number

我正在尝试使用 CBC 和 ECB 加密和解密 BMP 文件,并使用提供给我的以下命令:

openssl enc -des-cbc -in car.bmp -out car_enc_cbc.bmp -nosalt
openssl enc -des-ecb -in car.bmp -out car_enc_ecb.bmp -nosalt

(两者的密码都是123

当我尝试使用以下命令解密文件时:

openssl enc -des-cbc -d -in car_enc_cbc.bmp -out car_dec_cbc.bmp
openssl enc -des-ecb -d -in car_enc_ecb.bmp -out car_dec_ecb.bmp

控制台为两者返回错误“错误的幻数”。

我究竟做错了什么?值得注意的是,我在加密文件后立即尝试在同一终端窗口中解密文件。我读到这可能是因为 SSL 版本不匹配,但这种情况不适用于此处。

任何帮助是极大的赞赏。

答案1

如果加密时使用,解密时也-nosalt需要指定参数-nosalt

openssl enc -des-cbc -nosalt -d -in car_enc_cbc.bmp -out car_dec_cbc.bmp
openssl enc -des-ecb -nosalt -d -in car_enc_ecb.bmp -out car_dec_ecb.bmp

相关内容