package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.utils.MyCommon; import java.io.Serializable; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-08 10:19 * Description: 管理卡 第1扇区 0块 */ public class ManageCard implements Serializable { public String cardType = MyCommon.MANAGE_CRAD;//卡类型 public String cardData = "A0B1C289";//标识码 /** * M1卡的0扇区0块通常用于存储一些基本的卡片信息 * 第0字节:卡片类型(M1卡为0x08) * 第1字节:卡片地址(通常为0x00) * 第2-5字节:卡片序列号(4字节) * 第6-8字节:卡片制造商代码(3字节) * 第9字节:卡片版本 * 第10-15字节:预留区域 */ public byte[] userCard; //用户卡号 public String getCardData() { return cardData; } public byte[] toZeroByte() { Zero zero = new Zero(); return zero.toByte(); } public class Zero extends BaseCard { public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); byte[] cardDataByte = HexUtil.hexToByteArray(cardData); if (cardDataByte != null) { System.arraycopy(cardDataByte, 0, data, 1, cardDataByte.length); } if (userCard!=null){ System.arraycopy(userCard, 0, data, 5, userCard.length); } data[15] = getByteSum(data); return data; } } }