Example #1
0
        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);
            }
        }
Example #2
0
        /// <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);
        }