static int Main(string[] args) { string userID; int userOtp; User userSS = new User(); int op = 3; bool exit = false; while (!exit) { op = menu(); System.Console.WriteLine("#####################################"); switch (op) { case 1: // Generate One Time Password System.Console.WriteLine("Generate One Time Password."); System.Console.WriteLine("User ID:"); userID = System.Console.ReadLine(); userSS = UserFunctions.GetOneTimePassword(userID); System.Console.WriteLine("Password: "******"Validate Password."); System.Console.WriteLine("User ID:"); userID = System.Console.ReadLine(); System.Console.WriteLine("Password:"******"Password format not valid"); } else { UserFunctions.ValidatePassword(userID, userOtp, userSS); } break; case 3: // Exit System.Console.WriteLine("Exiting..."); System.Console.ReadLine(); exit = true; break; } } return 0; }
public static User GetOneTimePassword(string userID) { int otpass; User userSS = new User(); // struct of user bool conversion = Int32.TryParse(GenPassword.GetPassword(userID), out otpass); if (conversion) { //Save user data in user struct userSS.Id = userID; userSS.Otp = otpass; userSS.OtpCrtDate = DateTime.Now; } return userSS; }
public static void ValidatePassword(string user, int otp, User userSS) { if (otp == userSS.Otp && user == userSS.Id) { TimeSpan timeSub = DateTime.Now - userSS.OtpCrtDate; if (timeSub.TotalSeconds < 30.0) { System.Console.WriteLine("The Password is valid"); } else { System.Console.WriteLine("Sorry but your Password has expired."); } } else { System.Console.WriteLine("Sorry but your User ID or your Password are not correct."); } }