c#生成签名

数据模型转字典排序去空

public static Dictionary<string, object> Obj2Dic<T>(T model) where T : new()
        {
            return model.GetType().GetProperties()
                .OrderBy(a => a.Name)
                .Where(a => a.GetValue(model) != null)
                .ToDictionary(a => a.Name, a => a.GetValue(model));
        }

生成md5签名

public static string CreateSign(Dictionary<string, object> dic)
        {
            var data = new List<string>();
            foreach (var item in dic)
            {
                data.Add($"{item.Key}={(item.Value is string ? item.Value : JsonConvert.SerializeObject(item.Value, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }))}");
            }

            var str = String.Join("&", data);

            str += KEY;
            var sign = App.Common.Security.MD5(str).ToLower();
            return sign;
        }

 

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注