求教数据校验函数

loseme915 2004-04-15 03:27:51
我有一个数据包希望发送之后,接收方进行校验,有谁会写校验函数.校验方式可以是海明码,或者奇偶校验!
我的数据包格式
head(1) flag1(4) flag2(4) flag3(1) data(1024-1-4-4-1-1) end(1)
这个数学上的问题我上学的时候就没弄明白!郁闷!!!
哪位高手帮帮忙啊!!
...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ndy_w 2004-04-16
  • 打赏
  • 举报
回复
再算一遍不就可以校验了?
loseme915 2004-04-16
  • 打赏
  • 举报
回复
或者你给一个运算公式也可以!!
loseme915 2004-04-16
  • 打赏
  • 举报
回复
ndy_w(carpe diem) 你哪个是什么东西啊?我看不懂,给点说明!


我需要的函数应该是这样的BOOL checkdata(void* data,int datalen)如果校验没错返回TRUE,错误返回FALSE.
ndy_w 2004-04-16
  • 打赏
  • 举报
回复
声明错了,sum应该是unsigned long
ndy_w 2004-04-16
  • 打赏
  • 举报
回复
tcp大概如此
unsigned short checksum(void* data, int datalen)
{
unsigned short sum = 0;
unsigned short* ps = (unsigned short*)data;
for(int i = datalen; i > 1; i -= 2)
sum += *ps++;
if(i)
sum += (unsigned short)(*(unsigned char*)ps);
while(sum >> 16)
sum = (sum & 0xFFFF) + (sum >> 16);
return ~sum;
}
ndy_w 2004-04-16
  • 打赏
  • 举报
回复
?MD5?太慢了吧?tcp里连crc都不肯用。
loseme915 2004-04-16
  • 打赏
  • 举报
回复
我晕,没人在数学方面有点造诣的?????帮帮忙,写个算法也可以!!
loseme915 2004-04-16
  • 打赏
  • 举报
回复
ndy_w(carpe diem) 大哥,讲讲你的那个算法什么意思好吗?谢谢啊!
loseme915 2004-04-15
  • 打赏
  • 举报
回复
不管用什么方法,要求是一定可以实现校验,而且提供现成的函数,哪位可以提供分就独得,不够可以加
Semigod 2004-04-15
  • 打赏
  • 举报
回复
最简单的方法是使用MD5

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧