1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| package com.dayu.baselibrary.tools;
|
| /**
| * author: zuo
| * Date: 2024-09-25
| * Time: 16:00
| * 备注:所有card类的顶级父类
| */
| public class BaseCard {
| /**
| * 前15个字节算术累加和 不含进位
| *
| * @param data 源数据
| * @return 16进制
| */
| public byte getByteSum(byte[] data) {
| if (data != null) {
| int sum = 0;
| for (byte b : data) {
| sum += b & 0xFF; // & 0xFF 可以将字节扩展为正整数,避免符号位的影响
| }
| String hex = HexUtil.get10to16CompleteHex(sum);
| hex = HexUtil.spaceHex(hex);
| String[] hexArr = hex.split(" ");
| return HexUtil.hexToByte(hexArr[hexArr.length - 1]);
| }
| return 0;
| }
|
| }
|
|