调试发现使用CryptoPP编程Debug和Release模式下加密的结果不一致,但是解压后明文一致。
后来发现在debug调试下好用,但是在release模式下不好用
修改下面的代码后ok
原来的代码
//注册码密钥
static BYTE const key1[] = {...}; //项目中的密码不能显示下面一样
static BYTE const iv1[8] = {...};
//机器码密钥
static BYTE const key2[] = {...};
static BYTE const iv2[8] = {...};
CFB_Mode<AES>::Decryption cfbd;
cfbd.SetKeyWithIV(key2,sizeof(key2) iv2);
cfbd.ProcessData(lpRecvBuff, lpSourceBuff, dwSourceBuffSize);
修改后的代码,结果ok
//注册码密钥
static BYTE const key1[32] = {...}; //项目中的密码不能显示下面一样
static BYTE const iv1[8] = {...};
//机器码密钥
static BYTE const key2[16] = {...};
static BYTE const iv2[8] = {...};
cfbd.SetKeyWithIV(key2,AES::DEFAULT_KEYLENGTH, iv2);
cfbd.ProcessData(lpRecvBuff, lpSourceBuff, dwSourceBuffSiz
本文探讨了使用CryptoPP库在Debug与Release模式下加密结果不一致的问题,并分享了解决方案。通过调整密钥长度及初始化向量的设置,确保了不同编译模式下的一致性。
1231

被折叠的 条评论
为什么被折叠?



