• netcore调用契约锁验签接口


    请求头:三个自定义参数和一个Content-Type:

    ​ 1、自定义参数 x-qys-accesstoken :“创建应用”时生成的AppToken;

    ​ 2、自定义参数 x-qys-timestamp :发起请求的当前时间,可以取自机器的本地时间,误差不能超过15分钟;

    ​ 3、自定义参数 x-qys-nonce :本地生成的随机数,一般用UUID标识,15分钟内不能重复。与时间参数结合防止重放攻击;

    ​ 4、自定义参数 x-qys-signature :即签名信息,生成算法为:Md5(AppToken + AppSecret + timestamp+nonce),即AppToken 和 AppSecret 和 timestamp和nonce拼接的字符串的MD5值,注:MD5值为32位小写

             var formData = new MultipartFormDataContent();
    
                    var seed = Guid.NewGuid().GetHashCode();
                    Random rd = new Random(seed);
                    int i = rd.Next(0,100000);
                    double j = (double)i / 100000;
    
                    string uuid = j.ToString();
                    string AppToken = "wWqwt5Aa8A";
                    string AppSecre = "TYkdqgZFZOOTfw6VspVK4znw5MzoP4";
                    TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                    string time =  Convert.ToInt64(ts.TotalMilliseconds).ToString();
                    string signature = MD5Hepler.MD5Encrypt32(AppToken + AppSecre + time + uuid);
                    formData.Headers.Add("x-qys-accesstoken", AppToken);
                    formData.Headers.Add("x-qys-timestamp", time);
                    formData.Headers.Add("x-qys-nonce", uuid);
                    formData.Headers.Add("x-qys-signature", signature);
                    formData.Add(new StreamContent(memoryStream, (int)memoryStream.Length), "file", fileName);
    
                    var _httpclient = new HttpClient();
                    var response = _httpclient.PostAsync(uri, formData).Result;
    

      

  • 相关阅读:
    scrapy的自动限速(AutoThrottle)扩展
    js可以控制文件上传的速度吗?
    用DataReader 分页与几种传统的分页方法的比较
    jdbc分页查询
    几种分页方式分析.
    mybatis下的分页,支持所有的数据库
    java 物理分页和逻辑分页
    IBatis的分页研究
    JDBC分页
    用Java实现异构数据库的高效通用分页查询功能
  • 原文地址:https://www.cnblogs.com/zwbsoft/p/16023003.html
Copyright © 2020-2023  润新知