我正在尝试使用 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