项目中要用到,本来想拿来主义,结果没有找到合适的。所有自己写了一个。
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;
}