|
发表于 2020-6-26 18:05:15
|
显示全部楼层
问题可能出在这个数组,你计算的是32字节长度的明文的AES256-CBC结果:
uint8_t DataToEncrypt[32] = "1234567890";
AES明文是以16字节分组的,PC软件端你选择了Zero padding方式,一个明文分组不足16字节的会以十六进制0x0填充,但是你的输入不足16字节,可能填充到16字节明文长度,而不是以32字节长度;而MCU代码是按照32字节明文长度计算AES结果的。我看MCU代码应该没有问题。
aes.c line 306-307
memset(TempBuf , 0, sizeof(TempBuf));
memcpy(TempBuf, DataIn + i*16, DataInLen - i*16);
如果你的MCU计算结果和附图软件截图一致,那么MCU代码就是没有问题的。另外,IV初始向量的长度和明文分组一样也是16字节的。 |
-
aes256计算结果
|