private AdminCookieDto GetAdminCookieDto(ActionExecutingContext context) { var cookie = context.GetCookie(CookieSetting.AdminCookie); if (string.IsNullOrEmpty(cookie)) { return(null); } var sp = cookie.Split("."); if (sp.Length != 2) { return(null); } var bytes = Base64.FromBase64ForUrlString(sp[0]); var hash = HashUtil.GetMd5String(bytes); if (hash == sp[1]) { bytes = ThreeRCX.Encrypt(bytes, RsaHelper.Instance.CookiePassword); var json = Encoding.UTF8.GetString(bytes); try { var userDto = json.ToObject <AdminCookieDto>(); if (userDto.ExpireTime < DateTime.Now || userDto.CreateTime > DateTime.Now) { return(null); } return(userDto); } catch { } } return(null); }