private void btAuth_Click(object sender, EventArgs e) { string keyStr = tbKey.Text; byte block = (byte)nudBlock.Value; byte[] key = chkAscii.Checked? Encoding.ASCII.GetBytes(keyStr): Utility.HexToByte(keyStr); bool isKeyA = rbKeyA.Checked; try { if (card is MifareCL) { MifareCL mfcl = card as MifareCL; mfcl.Authentication(isKeyA, block, key); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Mifareオブジェクトの生成 /// </summary> private NfcTag CreateCard() { ushort atqa = (ushort)BigEndian.SwapEndian((ushort)device.sens_res); byte[] uid = new byte[device.NFCID1_size]; Array.Copy(device.NFCID1, 0, uid, 0, uid.Length); Mifare card = null; if (atqa == MfConst.ATQA_MFCL1K) { card = new MifareCL(lib, uid); } else if (atqa == MfConst.ATQA_MFUL) { card = new MifareUL(lib, uid); } else if (atqa == MfConst.ATQA_MFCL4K) { card = new MifareCL4K(lib, uid); } Debug.WriteLine("create_card:" + Utility.ByteToHex(card.Uid, 0, card.Uid.Length)); return(card); }