作者colawei (D逃)
看板Visual_Basic
标题Re: [VB6 ] checksum问题
时间Thu Oct 19 20:11:50 2006
※ 引述《badsan (.........)》之铭言:
: 请问一下各位前辈....
: 我想做一各 xor checksum 的验证 function
: 希望各位大大可以指点一下...
: Xor Checksum 他的流程原理是怎样跑的??
: 当然能尽量详细一点越好~_~...(小弟不才理解力不够好...)
CheckSum: 通常用在资料传输上,为确保资料的完整性及正确性,
而在每个封包或资料录後面加入的检查位元.
市面上常用的CheckSum有Xor及CRC.其它还有汉明检测法等等很多
基本上CheckSum的演算法在制定Protocol时会同时规定好
使用何种演算法.对哪些任容做运算等等.
而我们使用的 Xor CheckSum ,通常采用Byte by Byte,
一个位元组一个位元组算.
例如当资料内容是"APPLE"时.
Xor CheckSum= "A" xor "P" xor "P" xor "L" xor "E"
= 0x48
= "H"
所以最後送出的内容会是 "APPLEH"
: 假设我要一次送出16进位的 1F 20 01 这样的字串数值做 xor checksum
: 那结果会得到多少??
: 是不是要先将上面数值转成2进制
: 00011111 00010100 00000001
: 接下来该做那些步骤流程??
在VB中,可以直接对数字做XOR, 所以不用转二进位.
直接用ASC()加回圈取出值就好了
上例的结果=00001010
: 希望有大大可以帮忙指点一下...对Xor Checksum 这真的一点观念都没有....
: 我是想自己写啦...只是不知从何写起...完成不知道整各运作过程...
: 所以要请各位前辈指点指点...
: 当然如果有好心大大愿意直接提供code让我自己参考慢慢研究也行...
: 先跟各位说声谢谢了...
手边没有简单点的例子,如果还有不清楚的再上来问吧.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.81.193.106
1F:推 badsan:谢啦^^... 10/20 19:29