static void Main(string[] args) { Console.WriteLine("Enter card number space separated"); string[] lStr = Console.ReadLine().Split(' '); string lKey = GetUniqueKey(); if(lStr.Length == 7) { CardNumber cardNumber = new CardNumber(); cardNumber.Number1 = lStr[0].Encrypt(lKey); cardNumber.Number2 = lStr[1].Encrypt(lKey); cardNumber.Number3 = lStr[2].Encrypt(lKey); cardNumber.Number4 = lStr[3].Encrypt(lKey); cardNumber.Month = lStr[4].Encrypt(lKey); cardNumber.Yearh = lStr[5].Encrypt(lKey); cardNumber.CVV = lStr[6].Encrypt(lKey); JavaScriptSerializer js = new JavaScriptSerializer(); string content = js.Serialize(cardNumber); lock (_lockObject) { using (StreamWriter streamWriter = new StreamWriter(c_sCreditCardFilePath)) { streamWriter.Write(content); } } CardNumber copyCardNumber = GetCardNumber(); if (cardNumber.Equals(copyCardNumber)) { Console.WriteLine("Generate key failed,Try again"); } else { Console.WriteLine("Key generated success"); } } Console.WriteLine("Write any key to exit"); Console.ReadKey(); }
public static CardNumber GetCardNumber() { CardNumber lCardNumber = new CardNumber(); string lKey = GetUniqueKey(); string content = ""; lock (_lockObject) { if (!File.Exists(c_sCreditCardFilePath)) { Console.WriteLine(String.Format("File {0} not found.Please regenerate using CardNumberGenerator.exe",c_sCreditCardFilePath)); } else { using (StreamReader streamWriter = new StreamReader(c_sCreditCardFilePath)) { content = streamWriter.ReadToEnd(); } } } if (!string.IsNullOrEmpty(content)) { JavaScriptSerializer lSerializer = new JavaScriptSerializer(); lCardNumber = lSerializer.Deserialize<CardNumber>(content); lCardNumber.Number1 = lCardNumber.Number1.Decrypt(lKey); lCardNumber.Number2 = lCardNumber.Number2.Decrypt(lKey); lCardNumber.Number3 = lCardNumber.Number3.Decrypt(lKey); lCardNumber.Number4 = lCardNumber.Number4.Decrypt(lKey); lCardNumber.Month = lCardNumber.Month.Decrypt(lKey); lCardNumber.Yearh = lCardNumber.Yearh.Decrypt(lKey); lCardNumber.CVV = lCardNumber.CVV.Decrypt(lKey); } return lCardNumber; }