lora 資料完整性校驗方案

2021-10-21 16:55:00 字數 1113 閱讀 1955

針對兩個lora模組之間的資料完整性校驗,不包含級聯情況:

訊息頭同步:

12個位元組

訊息頭標識+該包資料總長度+該資料報的crc16+本資料的crc

| 0x5a5a5a5a |len|crc16|crc16|

原理:傳送端首先傳送第一包資料訊息頭,接收端根據收到的訊息頭,獲取資料報長度,然後接收對應長度的資料報,如果存在一包訊息頭不對,則請求傳送端,重新同步訊息頭。

2 .資料報切片傳送

按照8位元組乙個傳送包切片,

pkts = len/8;

reminder = len%8;

while(1

)else

times ++

;msleep

(500);

}if(reminder >0)

else

}}

傳送端流程:

3.資料報接收組包

接收訊息頭:

len =

read

(g_lora_uart_fd,

&(hp.cmd),12

);log_debug_bin

((uint8 *)&

(hp.cmd)

, len,64,

"lora recved pkt:");

log_debug

("recv cmd=%x len = %d\n"

,hp.cmd,len)

;

校驗資料長度是否是12位元組 頭+len+crc +crc

迴圈接收資料

while(1

)

4.crc+len校驗

5.請求同步訊息頭

while(1

)msleep

(200);

}

接收端流程:

資料完整性校驗 釋疑

完整性 雜湊校驗 雜湊是一種不可逆的對映,可以將資料經過雜湊演算法計算得到乙個雜湊值,而無法再將該雜湊值反映射得到原始的資料。一般來說,不同的資料得到的雜湊值是不同的,但也有極少的可能會出現碰撞,但這種概率極小。在網路資料完整性校驗中使用的雜湊演算法通常包括 md5 sha。資料完整性校驗 資料完整...

檔案完整性校驗

什麼是 完整性校驗 所謂的 完整性校驗 顧名思義,就是檢查檔案是否完整。那麼,什麼情況下會導致檔案不完整捏?大概有如下幾種情況。1.感染病毒 比方說你的系統中了病毒,病毒感染了某個軟體安裝包或者某個可執行程式。那麼該檔案的完整性就被破壞了。雜湊演算法 雜湊演算法 掃盲 什麼是 雜湊演算法 雜湊演算法...

檔案完整性校驗

什麼是 完整性校驗 所謂的 完整性校驗 顧名思義,就是檢查檔案是否完整。那麼,什麼情況下會導致檔案不完整捏?大概有如下幾種情況。1.感染病毒 比方說你的系統中了病毒,病毒感染了某個軟體安裝包或者某個可執行程式。那麼該檔案的完整性就被破壞了。雜湊演算法 雜湊演算法 掃盲 什麼是 雜湊演算法 雜湊演算法...