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