using System; using System.Threading.Tasks; using Hncore.Infrastructure.Extension; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; namespace Hncore.Infrastructure.OpenApi { public class OpenApiRequestBase { [JsonProperty("appid")] public string AppId { get; set; } [JsonProperty("timestamp")] public long? Timestamp { get; set; } [JsonProperty("sign")] public string Sign { get; set; } public void CheckSign(string key) { var sign = OpenApiSignUtil.CreateSign(this.Timestamp.ToLong(), key); if (!String.Equals(sign, Sign, StringComparison.CurrentCultureIgnoreCase)) { OpenApiException.Throw(OpenApiReturnCode.SignError); } } } }