美文网首页
接口合法性验证SIGN及测试接口

接口合法性验证SIGN及测试接口

作者: 沙蒿同学 | 来源:发表于2020-08-29 21:03 被阅读0次

    对外的api接口往往需要进行请求合法性安全性校验,最简单的就是sign,简单的请求参数拼接加key然后进行md5。以下接口均已测试通过

    加密规则

    将请求的所有参数进行排序(正序)后按照key1=value1&key2=value2依次拼接后,添加key进行md5加密,得到sign放置请求url中。
    请求url拼接参数必须包含timestamp时间戳(秒)和sign签名参数,这里我们使用key为shahao

    示例

    http://127.0.0.1/test,请求方式为post,参数为

    {
        "aStr":"1234",
        "bStr":"aaaa",
        "zInt":12
    }
    

    加密:md5(aStr=1234&bStr=aaa&timestamp=1598321920&zInt=12&key=shahao)
    结果为:4ded2765408821950519318a329d03e7

    最后请求url为http://127.0.0.1/test?sign=4ded2765408821950519318a329d03e7&timestamp=1598321920

    {
        "aStr":"1234",
        "bStr":"aaaa",
        "zInt":12
    }
    

    程序逻辑需要对时间戳进行校验,根据业务来确定过期时间。

    测试接口

    1、设置你的key和过期时间接口

    • 请求url:http://47.110.227.59:4000/api/sign/set
    • 说明:此接口根据你调用请求的ip配置加密APPSecretKey,设置完毕后可以调用测试接口(/api/sign/test)验证你的代码书写是否正常
    • 请求方式:POST,application/json
    • 请求参数
    参数名 是否必须 类型 说明
    key string 加密APPSecretKey,小于50
    expire int64 sign有效时长,秒
    • 请求示例
    {
        "key":"shahaohaoshuai",
        "expire":7
    }
    
    • 请求返回示例
    ## 成功
    {
        "code": 0,
        "data": true,
        "msg": "success."
    }
    

    2、通过参数获取加密后的sign

    ## 成功
    {
        "code": 0,
        "data": {
            "sign": "8ccce62056608dd91fbf50999371fe59",
            "timestamp": "1598705745"
        },
        "msg": "success."
    }
    

    3、测试接口

    {
        "string":121313,
        "int":"21221"
    }
    
    • 请求返回示例
    ## 成功
    {
        "code": 0,
        "data": true,
        "msg": "success."
    }
    

    相关文章

      网友评论

          本文标题:接口合法性验证SIGN及测试接口

          本文链接:https://www.haomeiwen.com/subject/utbjsktx.html