其他分享
首页 > 其他分享> > C语言 异或校验

C语言 异或校验

作者:互联网

#include "stdio.h"
void main()
{
int i;
//任意10个数值,也可以不是8位
unsigned char data[10]={0x12,0x21,0x1A,0xB1,0xC1,0xEB,0xDF,0xCA,0xF6,0xDD};
unsigned char out;//用于保存异或结果
out=0x00;
for (i=0;i<sizeof(data);i++)
{
out^=data[i];
}
printf("原来的校验值:%X\n",out);

out^=(data[0]^0xee);//将data[0]改为新数据后计算新校验和的方法
out^=(data[5]^0x20);//将data[5]改为新数据后计算新校验和的方法
printf("修改后校验值:%X\n",out);

data[0]=0xee; //采用原始的方法计算新的校验和,和前面的校验和对比是否正确
data[5]=0x20; //采用原始的方法计算新的校验和,和前面的校验和对比是否正确
out=0x00;
for (i=0;i<10;i++)
{
out^=data[i];
}
printf("原始方法得出校验值:%X\n",out);
}

 

标签:10,0xC1,unsigned,校验,char,异或,C语言,out
来源: https://www.cnblogs.com/xkdn/p/15937746.html