項目中要用到,本來想拿來主義,結果沒有找到合適的。所有自己寫了一個。
LRC具體算法如下:
1、對需要校驗的數據(2n個字符)兩兩組成一個16進制的數值求和。
2、將模值按位取反。
3、加1。
Java代碼實現:
/*
* 輸入byte[] data , 返回LRC校驗byte
*/
public static byte getLRC(byte[] data) {
int tmp = 0;
for (int i = 0; i < data.length; i++) {
tmp = tmp + (byte) data[i];
}
tmp = ~tmp;
tmp = (tmp & (0xff));
tmp += 1;
return (byte) tmp;
}