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