public static LoginProfile Parse(string toDecrypt) { string[] segs = toDecrypt.Split('-'); if (segs.Length < 2) { return(null); } byte[] toEncryptArray = Convert.FromBase64String(segs[0]); string decryptStr = RijndaelHelper.DecryptStringFromBytes(toEncryptArray, RijndaelHelper.KeyArray, RijndaelHelper.IVArray); if (Codehelper.MD5(decryptStr + SwitchSiteSignKey) != segs[1]) { return(null); } string[] items = decryptStr.Split(','); LoginProfile login = new LoginProfile(items[0], items[1], items[2]) { Expires = DateTime.Parse(items[3]) }; if (login.IsExpired()) { return(null); } return(login); }
public override string ToString() { string str = Username + "," + Country + "," + Lang + "," + Expires.ToString("yyyy-MM-dd HH:mm:ss"); return(Convert.ToBase64String(RijndaelHelper.EncryptStringToBytes(str, RijndaelHelper.KeyArray, RijndaelHelper.IVArray)) + "-" + Codehelper.MD5(str + SwitchSiteSignKey)); }