| | |
| | | package com.dayu.general.bean.card |
| | | |
| | | import com.dayu.baselibrary.tools.HexUtil |
| | | import com.dayu.baselibrary.tools.BaseCard |
| | | import com.dayu.general.bean.db.CardData |
| | | import com.dayu.general.dao.AppDataBase |
| | | import com.dayu.general.tool.CardCommon |
| | | import com.tencent.bugly.crashreport.CrashReport |
| | | |
| | | open class BaseCard { |
| | | open class BaseCard : BaseCard() { |
| | | var cardData: String? = null //标识码 |
| | | |
| | | companion object { |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 前15个字节算术累加和 不含进位 |
| | | * |
| | | * @param data 源数据 |
| | | * @return 16进制 |
| | | */ |
| | | fun getByteSum(data: ByteArray?): Byte { |
| | | if (data != null) { |
| | | var sum = 0 |
| | | for (b in data) { |
| | | sum += b.toInt() and 0xFF // & 0xFF 可以将字节扩展为正整数,避免符号位的影响 |
| | | } |
| | | var hex = HexUtil.get10to16CompleteHex(sum) |
| | | hex = HexUtil.spaceHex(hex) |
| | | val hexArr = hex.split(" ".toRegex()).dropLastWhile { it.isEmpty() } |
| | | .toTypedArray() |
| | | return HexUtil.hexToByte(hexArr[hexArr.size - 1]) |
| | | } |
| | | return 0 |
| | | } |
| | | // /** |
| | | // * 前15个字节算术累加和 不含进位 |
| | | // * |
| | | // * @param data 源数据 |
| | | // * @return 16进制 |
| | | // */ |
| | | // fun getByteSum(data: ByteArray?): Byte { |
| | | // if (data != null) { |
| | | // var sum = 0 |
| | | // for (b in data) { |
| | | // sum += b.toInt() and 0xFF // & 0xFF 可以将字节扩展为正整数,避免符号位的影响 |
| | | // } |
| | | // var hex = HexUtil.get10to16CompleteHex(sum) |
| | | // hex = HexUtil.spaceHex(hex) |
| | | // val hexArr = hex.split(" ".toRegex()).dropLastWhile { it.isEmpty() } |
| | | // .toTypedArray() |
| | | // return HexUtil.hexToByte(hexArr[hexArr.size - 1]) |
| | | // } |
| | | // return 0 |
| | | // } |
| | | |
| | | } |