Example #1
0
        /// <summary>
        /// 读取加密cookie
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="strName">名称</param>
        /// <param name="cryptType">加密方式</param>
        /// <returns>加密前的对象</returns>
        public static T GetCryptCookie <T>(string strName, CryptType cryptType = CryptType.Aes)
        {
            try
            {
                string jsonString  = null;
                string cryptString = GetCookie(strName);
                #if DEBUG
                jsonString = cryptString;
                if (string.IsNullOrWhiteSpace(jsonString))
                {
                    return(default(T));
                }
                return(JsonConvert.DeserializeObject <T>(jsonString));
                #endif
                switch (cryptType)
                {
                case CryptType.Aes:
                {
                    jsonString = AesEncryptHelper.DecryptAes(cryptString);
                    break;
                }

                case CryptType.Des:
                {
                    jsonString = DesEncryptHelper.DecryptDes(cryptString);
                    break;
                }

                default:
                {
                    jsonString = EncryptUtils.Base64Decrypt(cryptString);
                    break;
                }
                }

                if (string.IsNullOrWhiteSpace(jsonString))
                {
                    return(default(T));
                }
                return(JsonConvert.DeserializeObject <T>(jsonString));
            }
            catch (Exception e)
            {
                LogHelper.Error($@"CookieHelper ReadError {e.Message}", e);
                return(default(T));
            }
        }