public JsonResult PostData(PostDataReq req) { if (!ModelState.IsValid) { var errors = ModelState.Where(x => x.Value.Errors.Count > 0).Select(x => new { PropertyName = x.Key, ErrorMsg = x.Value.Errors[0].ErrorMessage }).ToList(); return(ObjectExtends.ToJsonObject(Entity.Enum.EnumRspStatus.Fail, values: errors).ToJsonResult()); } if (!CheckSign(req)) { return(ObjectExtends.ToJsonObject(Entity.Enum.EnumRspStatus.Fail, msg: "签名验证失败!").ToJsonResult()); } return(ObjectExtends.ToJsonObject(Entity.Enum.EnumRspStatus.Success, values: new { name = "测试", age = 10 }).ToJsonResult()); }
/// <summary> /// 签名校验 /// </summary> /// <param name="req"></param> /// <returns></returns> private bool CheckSign(PostDataReq req) { var paramsList = new SortedList <string, string>(); paramsList.Add(nameof(req.param1), req.param1); paramsList.Add(nameof(req.param2), req.param2); paramsList.Add(nameof(req.param3), req.param3); //paramsList.Add(nameof(req.sign), req.sign); string key = "00000000";//标识key var sign = Utils.CreatSign(paramsList, key); return(req.sign.ToUpper().Equals(sign)); }