校验码如何产生?(50分)

  • 主题发起人 主题发起人 hnw777
  • 开始时间 开始时间
H

hnw777

Unregistered / Unconfirmed
GUEST, unregistred user!
一个字符串,需要能产生一个字节的校验码,如何产生?
 
可以这样:
取每一个字符的 ASCII 码相加,再取和数的最后一位。
 
每个字节或长度进行位操作,得出一个值,并不保证能校验正确
 
每一个字符(8位)与下一位字符左移一位后的结果作异或运算
 
CheckCode1:=0;

for i:= 1 to ((length(senddata)-2) div 2) do
CheckCode1:=(CheckCode1+StrToIntDef('$'+Midstr(senddata,2*i-1,2),0)) mod 256;
senddata:=senddata+inttohex(CheckCode1,2);
 
adden_lian:
如果是汉字的话,
你的程序的结果就全是00了
 
查论坛里的crc校验!很多!
 
1。逐字节异或
2。逐字节累加,结果取反加1
 
学过,忘了。
 
接受答案了.
 
后退
顶部