| | |
| | | import com.dayu.recharge.tools.HexUtil; |
| | | import com.dayu.recharge.utils.MyCommon; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Copyright (C), 2023, |
| | | * Author: zuo |
| | |
| | | public class PassWordCard { |
| | | public String cardType = MyCommon.PASS_WORD_CRAD_TYPE;//卡类型 |
| | | public String cardData = "A0B1C289";//标识码 |
| | | public String passWord;//六位的密码 |
| | | |
| | | |
| | | |
| | | public static PassWordCard getBean(List<byte[]> 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 void toByte() { |
| | | public byte[] toByte() { |
| | | byte[] data = new byte[16]; |
| | | data[0] = HexUtil.hexToByte(cardType); |
| | | byte[] cardDatas = HexUtil.hexToByteArray(cardData); |
| | | for (int i = 0; i < 4; i++) { |
| | | data[i + 1] = cardDatas[i]; |
| | | 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; |
| | | } |
| | | |
| | | } |