哪个 openssl 命令等同于 DES_cfb64_encrypt 函数?

Which openssl command is equivalent to DES_cfb64_encrypt function?

我正在尝试使用 OpenSSL 解密以编程方式加密的文件。 OpenSSL 用于加密文件,我知道所使用的函数和密钥:

//This declaration is just figurative
const char keybuf = "12345678";
// Prepare the key for use with DES_cfb64_encrypt
DES_cblock key2;
DES_key_schedule schedule;
// keybuf is the string key used as password
memcpy(key2, keybuf, 8);
DES_set_odd_parity(&key2);
DES_set_key_checked(&key2, &schedule);
int n = 0;
DES_cfb64_encrypt( ..., ..., length, &schedule, &key2, &n, DES_ENCRYPT );

首先我将文件从 base64 转换为二进制文件(这是它的打包方式):

cat data.b64 | base64 --decode > data.cr

现在当我 运行 加密数据命令行时(假设 des-cfb 是我需要的算法):

openssl enc -d -des-cfb -in data.cr -out data.decr -k 12345678

这是我得到的:

bad magic number

那么我做错了什么?也许我从base64错误地转换了文件?

Which openssl command is equivalent to DES_cfb64_encrypt function?

None

CFB mode是参数化模式,DES_cfb64_encrypt中的64将移位寄存器或段的大小设置为64位。命令行界面仅支持 CFB 模式的 3 种段大小,即 1 位、8 位和密码块大小(DES 为 64 位)。这三种参数化模式彼此不兼容,它们不能用于解密使用 CFB-64 加密的密文。