public Byte[] GetAccessConditions(byte[] data) { // byte[] data = this.accessConditionBytes; BitArray byte6=new BitArray(new Byte[] { 0xFF }); BitArray byte7=new BitArray(new Byte[] { 0x07 }); BitArray byte8=new BitArray(new Byte[] { 0x80 }); BitArray byte9=new BitArray(new Byte[] { 0x69 }); if (data != null) { byte6=new BitArray(new Byte[] { data[0] }); byte7=new BitArray(new Byte[] { data[1] }); byte8=new BitArray(new Byte[] { data[2] }); byte9=new BitArray(new Byte[] { data[3] }); } this.standardizedcards=(data == null) || (data[3] == 0x69) ; BitArray[] condBits=new BitArray[4]; Byte[] result=new Byte[4]; condBits[0]=new BitArray(new bool[] { byte7.Get(4), // C1-0 byte8.Get(0), // C2-0 byte8.Get(4) // C3-0 }); condBits[1]=new BitArray(new bool[] { byte7.Get(5), // C1-1 byte8.Get(1), // C2-1 byte8.Get(5) // C3-1 }); condBits[2]=new BitArray(new bool[] { byte7.Get(6), // C1-2 byte8.Get(2), // C2-2 byte8.Get(3) // C2-3 }); condBits[3]=new BitArray(new bool[] { byte7.Get(7), // C1-3 byte8.Get(3), // C2-3 byte8.Get(7) // C3-3 }); this.madVersion=MadVersionEnum.NoMad; if (byte9.Get(7)) { if (byte9.Get(0)) this.madVersion=MadVersionEnum.Version1; if (byte9.Get(1)) this.madVersion=MadVersionEnum.Version2; } multiApplicationCard=byte9.Get(6); condBits[0].CopyTo(result, 0); condBits[1].CopyTo(result, 1); condBits[2].CopyTo(result, 2); condBits[3].CopyTo(result, 3); // this.accessBits = result; return result; }
public Byte[] GetAccessConditions(byte[] data) { // byte[] data = this.accessConditionBytes; BitArray byte6 = new BitArray(new Byte[] { 0xFF }); BitArray byte7 = new BitArray(new Byte[] { 0x07 }); BitArray byte8 = new BitArray(new Byte[] { 0x80 }); BitArray byte9 = new BitArray(new Byte[] { 0x69 }); if (data != null) { byte6 = new BitArray(new Byte[] { data[0] }); byte7 = new BitArray(new Byte[] { data[1] }); byte8 = new BitArray(new Byte[] { data[2] }); byte9 = new BitArray(new Byte[] { data[3] }); } this.standardizedcards = (data == null) || (data[3] == 0x69); BitArray[] condBits = new BitArray[4]; Byte[] result = new Byte[4]; condBits[0] = new BitArray(new bool[] { byte7.Get(4), // C1-0 byte8.Get(0), // C2-0 byte8.Get(4) // C3-0 }); condBits[1] = new BitArray(new bool[] { byte7.Get(5), // C1-1 byte8.Get(1), // C2-1 byte8.Get(5) // C3-1 }); condBits[2] = new BitArray(new bool[] { byte7.Get(6), // C1-2 byte8.Get(2), // C2-2 byte8.Get(3) // C2-3 }); condBits[3] = new BitArray(new bool[] { byte7.Get(7), // C1-3 byte8.Get(3), // C2-3 byte8.Get(7) // C3-3 }); this.madVersion = MadVersionEnum.NoMad; if (byte9.Get(7)) { if (byte9.Get(0)) { this.madVersion = MadVersionEnum.Version1; } if (byte9.Get(1)) { this.madVersion = MadVersionEnum.Version2; } } multiApplicationCard = byte9.Get(6); condBits[0].CopyTo(result, 0); condBits[1].CopyTo(result, 1); condBits[2].CopyTo(result, 2); condBits[3].CopyTo(result, 3); // this.accessBits = result; return(result); }