zoukankan      html  css  js  c++  java
  • 编写安全的API接口

    HTTPS接口参数加密签名设计思路

    数名

    类型

    必选

    描述

    _appid string 调用方身份ID,接口提供方用此来识别调不同的调用者,该参数是API基本规范的一部分,请详见API公共规范。

    _sign

    string

    是 

    一次接口调用的签名值,服务器端 “防止 伪装请求/防篡改/ 防重发” 识别的重要依据。

    _timestamp

    Int

    时间戳(long Timestamp = DateTime.Now.Ticks;)

    签名算法过程:

    1、对除签名外的所有请求参数按key做的升序排列,value无需编码。

    例如:有c=3,b=2,a=1 三个参,另加上时间戳后, 按key排序后为:a=1,b=2,c=3,_timestamp=12345678。

    2、把参数名和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp12345678

    3、用申请到的appkey 连接到接拼装字符串头部和尾部,然后进行32位MD5加密,最后将到得MD5加密摘要转化成大写

    示例:假设appkey=test,md5(testa1b2c3_timestamp12345678test),取得MD5摘要值 C5F3EB5D7DC2748AED89E90AF00081E6 。

    4、可以使用HTTPS协议让安全性达到一个新的级别。

  • 相关阅读:
    scala
    数据结构(01)
    基本算法(07)
    基本算法(06)
    基本算法(05)
    git pull文件时和本地文件冲突的问题
    获取两个日期之间的日期形成一个集合
    lombok的简单介绍(2)
    springboot启动报错
    逆向工程的创建
  • 原文地址:https://www.cnblogs.com/ijavanese/p/9663433.html
Copyright © 2011-2022 走看看