我正在使用提供给我的128位AES对称 key 加密函数。我在解密时不断遇到此段错误:
:error:0606506D:lib(6):func(101):reason(109):evp_enc.c:518:
起初,当一起测试加密/解密时,我会收到此错误,因为我用于存储加密和解密的缓冲区不够大。请帮我解决问题:
存储 key 时(使用 fgets),由于某种原因,存储它的 char 数组需要大小 34 而不是 33(我不认为这是问题所在,但谁知道呢)
我用来解密的格式是错误的(我很确定它需要原始二进制文件,我也尝试过十六进制)
还有其他因素扰乱了 block 大小。
这还能来自什么?
最佳答案
128 位 aes 对称 key 长度必须为 16 字节。
256 位 aes 对称 key 长度也必须为 32 字节。
关于加密库和 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49166667/