自己写的异或校验函数

function TForm1.GetXorC(AStr: string):Byte;
var
  i,Count:integer;
  bTemp :Byte;
  IDATALEN:INTEGER;
   ADATA:ARRAY OF STRING;
   IBEGININDEX:INTEGER;
begin
  Result:= 0;
  bTemp := 0;
  Count := Length(AStr);
  IBEGININDEX:=1;
  iDataLen := length(AStr);
  if (iDataLen mod 2) <> 0 then
  Exit;


  SHOWMESSAGE(INTTOSTR( Trunc(iDataLen / 2) - 1));
   for i := 0 to Trunc(iDataLen / 2) - 1 do
   BEGIN
    SETLENGTH(ADATA, Trunc(iDataLen / 2));
    aData[iBeginIndex + i] := Copy(ASTR, i * 2 + 1);
    SHOWMESSAGE( aData[iBeginIndex + i] );
   END;
   //Memo1.Lines.Add(IntToStr(Count));
  for i:= 1 to 10 do
  begin
    if i = 1 then
      bTemp := ord(Astr[1])
    else
    bTemp := ord(Astr[i]) xor bTemp;
  end;


  Result:= bTemp;




end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值