AES算法 加密解密数据部分出错的问题

2019-12-15 11:25发布

本帖最后由 a312835782 于 2018-11-23 11:29 编辑

最近想用AES加密 IAP,找了一个工具,把bin文件加密。用的AES128

   我从加密后的头32字节拿来解密是能正确解密。  但比如我从第16字节取16字节来解密就不对了。
   如果我从第16字节取32字节来解密, 得出来的结果,前16字节是错误的,后16字节是正确的。
  
是哪里不对吗?

1.将文件加密
4.png (65.77 KB, 下载次数: 0) 下载附件 2018-11-23 11:29 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
boboo
2019-12-15 20:20
void AES_ECB_128bit_Encrypt(unsigned char * dat, unsigned long Len)
{
    unsigned char chainCipherBlock[16] = {0};
    unsigned long cnt = 0;
    //    memset(chainCipherBlock, 0x00, sizeof(chainCipherBlock));
    aesEncInit();/* 在执行加密初始化之前可以为AES_Key_Table赋值有效的密码数据 */

    /* AES加密,数组dat里面的新内容就是加密后的数据。 */
    /* AES源数据大于16字节时,把源数据的指针+16就好了 */
    for(cnt = 0; cnt < Len; cnt += 16)
        aesEncrypt(dat + cnt, chainCipherBlock);
}

一周热门 更多>