返回信息流☆─────────────────────────────────────☆
dgcr (动感超人) 于 (Mon Nov 29 15:51:21 2010) 提到:
在网上下载了一个des的加密算法
函数的定义如下
int DES(unsigned char *bufferin,
unsigned char *bufferout,
unsigned char *key,
long mode)
对字符数组类型的数据能够正确的加解密,但是如果是把struct类型的数据强行转化为
unsigned char *后加密,解密后就不能恢复出正确的结构体里的数据了
请问一般加密方式不是应该用二进制方式吗?socket编程里的send函数也是要求输入char型的数据,但输入struct类型后,接收后仍然能够正确的恢复啊。为什么加密程序不行呢?试了好几个源代码了
☆─────────────────────────────────────☆
BookMoth (书中蠹鱼) 于 (Mon Nov 29 16:13:00 2010) 提到:
手头没有代码,没法验证这个问题。有个地方可能会影响:
结构体转换char * 的时候是不是正确的?就是说先验证一下 struct 到 u char 再翻回来这个是不是正常的。
然后就是DES算法会对数据本身不足64位的做补零的操作,会不会对你的结构体有影响?
说的不一定对,供参考。
【 在 dgcr (动感超人) 的大作中提到: 】
: 在网上下载了一个des的加密算法
: 函数的定义如下
: int DES(unsigned char *bufferin,
: ...................
☆─────────────────────────────────────☆
rayallen (boston) 于 (Mon Nov 29 16:23:35 2010) 提到:
为何不把函数改一下,参数用二进制,输入输出另写,就不会出问题了吧。
问题多半都是LS说的。
☆─────────────────────────────────────☆
smilefufu (不水的FuFu) 于 (Mon Nov 29 20:43:54 2010) 提到:
补零其实不会有影响。结构体大小是固定的,所以解密后,得到数据块的大小减去sizeof(结构体)就是补了多少零
☆─────────────────────────────────────☆
hydralisk001 (hydralisk001) 于 (Tue Nov 30 10:07:52 2010) 提到:
问题应该是出在struct和char*的转换上,可否写个出错的代码放上来看一下?
☆─────────────────────────────────────☆
smilefufu (不水的FuFu) 于 (Tue Nov 30 12:15:48 2010) 提到:
没什么转换不转换的。(char*)强制转换就可以。反正内存里的数据也不分什么类型不类型的。
问题在于,DES这个函数对输入长度的判断。如果是以'\0'为结束符的话(认为char*是字符串,以'\0'结束),那么struct里如果某一位有0x00的话,就会被直接截断(杯具了吧-_,-)
如果楼主找的DES算法是这样加密的话,建议进行一下改写,给函数多加一个参数,标记输入数据块的大小即可。
【 在 hydralisk001 的大作中提到: 】
: 问题应该是出在struct和char*的转换上,可否写个出错的代码放上来看一下?
: --
: 我脚正不怕影子斜!
: ...................
☆─────────────────────────────────────☆
hydralisk001 (hydralisk001) 于 (Tue Nov 30 23:03:37 2010) 提到:
其实我就是这个意思,没说清楚
【 在 smilefufu 的大作中提到: 】
: 没什么转换不转换的。(char*)强制转换就可以。反正内存里的数据也不分什么类型不类型的。
: 问题在于,DES这个函数对输入长度的判断。如果是以'\0'为结束符的话(认为char*是字符串,以'\0'结束),那么struct里如果某一位有0x00的话,就会被直接截断(杯具了吧-_,-)
: 如果楼主找的DES算法是这样加密的话,建议进行一下改写,给函数多加一个参数,标记输入数据块的大小即可。
: ...................
☆─────────────────────────────────────☆
smilefufu (不水的FuFu) 于 (Wed Dec 1 10:04:55 2010) 提到:
=。=
☆─────────────────────────────────────☆
DrJan ( DrJan) 于 (Wed Dec 1 10:13:40 2010) 提到:
看完此楼 觉得文档能力很重要
这是一条镜像帖。来源:北邮人论坛 / security / #31510同步于 2011/1/2
Security机器人发帖
[合集] [求助]加密代码能对struct这种结构体加解密吗
BookMoth
2011/1/2镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。