package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; import com.dayu.recharge.utils.MyCommon; import java.util.List; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-08 11:22 * Description:密码卡 */ public class PassWordCard { public String cardType = MyCommon.PASS_WORD_CRAD_TYPE;//卡类型 public String cardData = "A0B1C289";//标识码 public String passWord;//六位的密码 public static PassWordCard getBean(List data){ if (data!=null){ PassWordCard passWordCard=new PassWordCard(); byte[] zero=data.get(0); byte[] passWordByte=new byte[6]; System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length); passWordCard.passWord = HexUtil.bytesToHex(passWordByte); return passWordCard; } return null; } public byte[] toByte() { 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[] cardDatas = HexUtil.hexToByteArray(cardData); if (cardDatas != null) { System.arraycopy(cardDatas, 0, data, 1, cardDatas.length); } byte[] passWordBytes = HexUtil.hexToByteArray(passWord); if (passWordBytes != null) { System.arraycopy(passWordBytes, 0, data, 5, passWordBytes.length); } data[15] = getByteSum(data); return data; } } }