public bool FindPwdDataDecode(string data, out string account, out int userid) { try { var adminStrs = data.Split('$'); if (adminStrs.Length == 2) { userid = int.Parse(adminStrs[1]); var key = SecretKey.GetKey(CustomConfig.FindPwdEmailTicks, userid.ToString()); SecretKey.KeyDelete(CustomConfig.FindPwdEmailTicks, userid.ToString()); var loginStrs = AESEncrypt.Decode(adminStrs[0], key).Split('|'); if (loginStrs.Length == 2) { var expireTime = DateTime.Parse(loginStrs[1]); if (expireTime > DateTime.Now) { account = loginStrs[0]; return(true); } } } } catch { } account = null; userid = 0; return(false); }
public string FindPwdDataEncode(int userid, string account) { var endTime = DateTime.Now.AddHours(1); var str = account + "|" + endTime.ToString(); var key = SecretKey.GetKey(CustomConfig.FindPwdEmailTicks, userid.ToString()); var result = AESEncrypt.Encode(str, key); result = result + "$" + userid.ToString(); return(result); }