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