加密解密程序为何在Debug和Release版本下效果不一样?Keywords:encrypt decrypt
一个加密算法在Debug下面完全正常,但是在Release下面就不对了。
肯定是程序有问题吧,
但是很难找,
谁有这方面的经验指点一下,
问题点数:20、回复次数:11Top
1 楼FANGAO(凡高)回复于 2001-07-04 09:52:58 得分 2
这种错误基本都出在循环体内。在循环里面找吧Top
2 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 09:57:11 得分 0
我测试用的字符很少,没有循环。Top
3 楼Tasehouny(阿甘)回复于 2001-07-04 10:05:14 得分 12
这个简单,我也遇到了。因为你在new 内存的时候没有调用ZeroMemory,在DEBUG版的时候,系统会自动调用ZeroMemory,而在Release版的时候你必须自己去做。
否则new出来的内存中可能包含随机数,如果不清零的话,你就填充结构,加密的结果当然不同了。Top
4 楼xlqin(不是我不说)(我不知道啊)回复于 2001-07-04 10:29:43 得分 2
Tasehouny(阿甘)说的有理,还有一种可能性,你的算法可能有些地方能让编译器自作主张的优化了,但优化错了,如清0不行,你可在release版关掉编译优化!Top
5 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 10:35:40 得分 0
还是不行啊,我调用new的地方不多。
加上了zeromemory还是不行。
有没有其它可能??Top
6 楼nustchen(壁虎)回复于 2001-07-04 10:51:44 得分 2
查看用Assert的地方,这是Debug下才管用Top
7 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 10:52:43 得分 0
还有一个症状,加密以后立刻解密,是正确的。Top
8 楼xlqin(不是我不说)(我不知道啊)回复于 2001-07-04 11:05:36 得分 2
简单,如此只能是你程序上的问题,你贴出源码吧,加解密的东东我写过不少Top
9 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 11:15:41 得分 0
还有一个症状,Debug下每次加密的结果是一定的,而Release下面结果好像是随机的。Top
10 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 11:29:01 得分 0
为什么阿为什么Top
11 楼vcbacker(沧浪之水清兮~~~)回复于 2001-07-04 11:51:21 得分 0
问题解决了,是密钥的问题,谢谢各位参与。Top




