private void button1_Click(object sender, EventArgs e) { Persistence persistence; if (File.Exists(filePersistence)) { persistence = Form1.ReadFromJsonFile <Persistence>(filePersistence); } else { persistence = new Persistence(); } String id = MifareTool.ByteArrayToString(mifare.GetUid(), false); string key; if (!persistence.idKey.ContainsKey(id)) { key = Prompt.ShowDialog("Enter Block 2 Key", "Key Required!"); } else { key = persistence.idKey[id]; } if (mifare.AuthenticateBlock(key, "08")) { //save the correct key if (!persistence.idKey.ContainsKey(id)) { persistence.idKey.Add(id, key); Form1.WriteToJsonFile <Persistence>(filePersistence, persistence); } //read sector 8 int readValue08 = MifareTool.ConvertBytesToInteger(mifare.ReadValueBlock("08")); int readValue09 = MifareTool.ConvertBytesToInteger(mifare.ReadValueBlock("09")); if (readValue08 == readValue09) { label1.Text = "Sector 08 == Sector 09"; label1.ForeColor = Color.Green; } else { label1.Text = "Sector 08 <> Sector 09"; label1.ForeColor = Color.Red; } double value = (double)readValue08 / 100; textBoxValue.Text = String.Format("{0:0.00}", value); button2.Enabled = true; } else { MessageBox.Show(this, "Authentication to sector 2 failed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Form1() { InitializeComponent(); try { mifare = new MifareTool(); String[] readers = mifare.GetReaders(); //always connect to first mifare.Connect(0); button1.Enabled = true; } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }