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));
        }