導航:首頁 > 操作系統 > 單片機異或校驗

單片機異或校驗

發布時間:2025-09-22 20:37:14

㈠ 請問什麼是異或校驗

異或校驗演算法(又稱為BCC校驗)

下面就是異或校驗的演算法,多用於串口通信:

#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;

}

printf("原來的校驗值:%X ",out);

out^=(data[0]^0xee);//將data[0]改為新數據後計算新校驗和的方法

out^=(data[5]^0x20);//將data[5]改為新數據後計算新校驗和的方法

printf("修改後校驗值:%X ",out);

data[0]=0xee; //採用原始的方法計算新的校驗和,和前面的校驗和對比是否正確

data[5]=0x20; //採用原始的方法計算新的校驗和,和前面的校驗和對比是否正確

out=0x00;

for (i=0;i<10;i++)

{

out^=data;

}

printf("原始方法得出校驗值:%X ",out);

}

作用:

防止自己的程序被篡改。

有些可執行程序,當被改了資源時再運行會有文件已損壞的提示,這就是使用了數據校驗。本例是用md5做為數據校驗的演算法。當然你可以使用個性化的比如des作為數字簽名,那樣安全性更高。

(1)單片機異或校驗擴展閱讀:

最簡單的檢驗

實現方法:最簡單的校驗就是把原始數據和待比較數據直接進行比較,看是否完全一樣這種方法是最安全最准確的。同時也是效率最低的。

應用例子:龍珠cpu在線調試工具bbug.exe。它和龍珠cpu間通訊時,bbug發送一個位元組cpu返回收到的位元組,bbug確認是剛才發送位元組後才繼續發送下一個位元組的。

奇偶校驗Parity Check

實現方法:在數據存儲和傳輸中,位元組中額外增加一個比特位,用來檢驗錯誤。校驗位可以通過數據位異或計算出來。

應用例子:單片機串口通訊有一模式就是8位數據通訊,另加第9位用於放校驗值。

md5校驗和數字簽名

實現方法:主要有md5和des演算法。

適用范圍:數據比較大或要求比較高的場合。如md5用於大量數據、文件校驗,des用於保

密數據的校驗(數字簽名)等等。

應用例子:文件校驗、銀行系統的交易數據

參考資料:網路-數據校驗

閱讀全文

與單片機異或校驗相關的資料

熱點內容
程序員自己開的網店 瀏覽:109
python批量定義數組 瀏覽:763
絕對戀愛命令2 瀏覽:396
哪裡回收單片機 瀏覽:164
單片機串口軟體下載 瀏覽:185
單片機跑linux 瀏覽:455
程序員如何摳鼻 瀏覽:282
手機怎麼搭建app 瀏覽:41
tftp伺服器如何調試助手 瀏覽:388
如何獲取linux的ip 瀏覽:31
單片機異或校驗 瀏覽:204
69乘20的演算法 瀏覽:531
三菱PLC上傳未編譯 瀏覽:849
51單片機按鍵干擾數碼管 瀏覽:600
安卓9x怎麼設置白名單 瀏覽:432
單機游戲阿里雲伺服器 瀏覽:215
初級程序員必讀物品 瀏覽:903
職教雲題庫伺服器 瀏覽:124
解壓軟體視頻打不開 瀏覽:201
雞兔同籠python編程題 瀏覽:825