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);
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM