MyAuth
  1. 软件接口
MyAuth
  • 首页
  • 公开接口
    • 检查服务状态
      GET
    • 获取web信息
      GET
    • 获取软件列表_自助用
      GET
    • 获取更新日志
      GET
    • 查询账号信息
      GET
    • 查询管理员信息
      GET
    • 查询额外存储信息
      GET
    • 自助解绑
      POST
    • 自助注册账号
      POST
    • 自助修改账号
      POST
    • 自助使用卡密
      POST
  • 软件接口
    • 数据格式
    • 加签验签
    • 加密解密
    • 加签demo
    • 接口
      • 初始化
      • 检测更新
      • 注册
      • 登录
      • 心跳
      • 离线
      • 使用卡密
      • 获取回复
      • 执行js
      • 上报数据
      • 上报额外数据
      • 触发事件
      • 解绑
      • 修改密码
      • 修改资料
      • 获取最新的一个版本
      • 检查账号状态
  • 网页接口
    • 说明
    • 管理员
      • 登录
      • 修改密码
      • 修改QQ
      • 检查token
      • 获取我的信息
      • 获取管理员列表
      • 修改管理员
      • 奖惩管理员
      • 添加管理员
      • 查询管理员
      • 删除管理员
    • 软件
      • 获取软件列表
      • 查询软件
      • 修改软件
      • 添加软件
      • 删除软件
      • 获取软件列表_全部_简要
    • 版本
      • 获取版本列表
      • 查询版本
      • 修改版本
      • 添加版本
      • 删除版本
      • 获取版本列表_全部_简要
      • 添加版本_同时添加回复
    • 回复
      • 获取回复列表
      • 查询回复
      • 修改回复
      • 添加回复
      • 删除回复
    • 卡密
      • 获取卡密列表
      • 查询卡密
      • 修改卡密
      • 生成卡密
      • 删除卡密
      • 禁用卡密
      • 解禁卡密
      • 导出卡密
    • 用户
      • 按条件批量操作用户授权
      • 获取用户在线信息
      • 获取用户列表
      • 查询用户
      • 修改用户
      • 添加用户
      • 删除用户
    • 函数
      • 获取函数列表
      • 查询函数
      • 修改函数
      • 添加函数
      • 删除函数
      • 运行函数
      • 调试函数
    • 事件
      • 获取事件列表
      • 查询事件
      • 修改事件
      • 添加事件
      • 删除事件
    • 封禁
      • 获取封禁列表
      • 查询封禁
      • 修改封禁
      • 添加封禁
      • 删除封禁
    • 数据
      • 获取数据列表
      • 删除数据
    • 用户日志
      • 获取日志列表
      • 删除日志
    • 系统设置
      • 获取设置信息
      • 修改设置信息
    • 菜单
      • 获取权限菜单
      • 获取菜单列表
      • 查询菜单
      • 删除菜单
      • 修改菜单
      • 添加菜单
    • 管理员日志
      • 获取日志列表
      • 删除日志
    • 角色
      • 获取角色列表
      • 获取角色列表_全部_简要
      • 查询角色
      • 修改角色
      • 添加角色
      • 删除角色
    • 策略
      • 获取策略列表
      • 查询策略
      • 修改策略
      • 删除策略
      • 添加策略
    • 统计
      • 获取软件数据
      • 获取数据排行
      • 获取设备排行
      • 获取近7天每日新增用户数
      • 获取用户分布比例
      • 获取卡密状态比例
      • 获取封禁类型数量
    • 代理卡密
      • 获取卡密列表
      • 查询卡密
      • 修改卡密
      • 生成卡密
      • 删除卡密
      • 禁用卡密
      • 解禁卡密
      • 导出卡密
    • 我的管理接口
      • 我的授权
        • 获取我的授权
      • 我的卡密
        • 获取我的卡密
        • 获取策略列表_全部_简要
        • 生成卡密
      • 我的余额
        • 获取我的余额日志
        • 使用代理余额卡密
      • 获取我的软件列表_简要
    • 额外存储类型
      • 获取额外存储类型列表
      • 获取额外存储类型列表_全部_简要
      • 查询额外存储类型
      • 修改额外存储类型
      • 添加额外存储类型
      • 删除额外存储类型
    • 额外存储
      • 获取额外存储列表
      • 查询额外存储
      • 修改额外存储
      • 添加额外存储
      • 删除额外存储
    • 支付通道管理
      • 获取支付通道列表
      • 修改支付通道信息
      • 申请支付链接
      • 获取所有支付类型状态
    • 支付订单管理
      • 获取订单列表
      • 删除订单
      • 本地查询订单
    • 邮件通知管理
      • 获取发送配置
      • 修改发送配置
      • 获取全部发送类型
      • 获取发送配置列表
      • 邮件发送测试
      • 开启通知
      • 关闭通知
    • 操作日志
      • 获取操作日志列表
  • 开放接口
    • 获取对象封禁信息
    • 获取在线客户端数
    • 获取用户总数
    • 添加额外存储信息
    • 删除额外存储信息
    • 获取额外存储列表信息
  1. 软件接口

加签验签

任何时候,向服务器提交的数据都需要有sign签名,服务器响应的数据里也会有sign
客户端收到数据后,需要进行验签以保证数据可信性
注意:为了方便编写本接口文档,下文的API接口都是未开启数据加密和sign签名校验的情况,请注意

sign签名计算规则#

将data节点下的key按字母从小到大排序,然后拼接处key=value&key=value形式,最后拼接上gen_key,取md5即可
需要注意的是
1.如果value=null,那么转换后为空字符串,即""
2.不管数据库里的换行符是\n还是\r\n,在计算签名的时候,必须统一转充\r\n

举例1:加签#

假如提交数据如下
{
    "data": {
         "device_info": "windows 10",
         "device_code": "5A79565CC85400F0-83B59DB87562D3CA4B732957016075CF",
         "timestamp": "1641975865"
    },
    "skey": "7c580b6e-56fc-41ac-953c-8b6896e26eb1",
    "vkey": "asd123"
}
那么我们需要对data下的数据进行加签
{
    "device_info": "windows 10",
    "device_code": "5A79565CC85400F0-83B59DB87562D3CA4B732957016075CF",
    "timestamp": "1641975865"
}
那么将其转换成网址传参形式,需要按键名(key)的字母顺序排序,转换结果如下
device_code=5A79565CC85400F0-83B59DB87562D3CA4B732957016075CF&device_info=windows 10&timestamp=1641975865
然后在最后拼接上软件的genKey
device_code=5A79565CC85400F0-83B59DB87562D3CA4B732957016075CF&device_info=windows 10&timestamp=1641975865&gen_key=f84b1a6edfe246b7
然后取以上字符串的32位MD5,得到如下,即为sign
50be20e3c534c84e1b3a98ae1a937c87
放到json里,最后得到最终要发送的数据
{
    "data": {
         "device_info": "windows 10",
         "device_code": "5A79565CC85400F0-83B59DB87562D3CA4B732957016075CF",
         "timestamp": "1641975865"
    },
    "skey": "7c580b6e-56fc-41ac-953c-8b6896e26eb1",
    "vkey": "asd123",
    "sign":"50be20e3c534c84e1b3a98ae1a937c87"
}

举例2:验签#

假如收到的数据如下
{
    "code": 200,
    "success": true,
    "msg": "检测到有新版本",
    "sign": "23e84bf6c0cb1b699bb7c2d1a87c6f56",
    "result": {
        "timeStamp": "1642489926",
        "ver": "1.0.1",
        "haveNew": "1",
        "list": [{
            "ver": "1.0.2",
            "updType": 1,
            "updLog": "asda阿萨德",
            "updTime": 1642145917,
            "status": 1
        }, {
            "ver": "1.0.1",
            "updType": 1,
            "updLog": "阿萨德",
            "updTime": 1642145917,
            "status": 1
        }]
    },
    "timestamp": 1642489926159
}
那么我们需要对result下的数据进行验签
{
    "timeStamp": "1642489926",
    "ver": "1.0.1",
    "haveNew": "1",
    "list": [{
        "ver": "1.0.2",
        "updType": 1,
        "updLog": "asda阿萨德",
        "updTime": 1642145917,
        "status": 1
    }, {
        "ver": "1.0.1",
        "updType": 1,
        "updLog": "阿萨德",
        "updTime": 1642145917,
        "status": 1
    }]
}
那么将其转换成网址传参形式,需要按键名(key)的字母顺序排序,转换结果如下
haveNew=1&list=[{"ver":"1.0.2","updType":1,"updLog":"asda阿萨德","updTime":1642145917,"status":1},{"ver":"1.0.1","updType":1,"updLog":"阿萨德","updTime":1642145917,"status":1}]&timeStamp=1642489926&ver=1.0.1
然后在最后拼接上软件的genKey
haveNew=1&list=[{"ver":"1.0.2","updType":1,"updLog":"asda阿萨德","updTime":1642145917,"status":1},{"ver":"1.0.1","updType":1,"updLog":"阿萨德","updTime":1642145917,"status":1}]&timeStamp=1642489926&ver=1.0.1&gen_key=f84b1a6edfe246b7
然后取以上字符串的32位MD5,得到如下,即为sign
23e84bf6c0cb1b699bb7c2d1a87c6f56
然后与收到的数据里的sign比较,一致则数据可信,否则可能为伪造数据
修改于 2022-05-11 05:18:17
上一页
数据格式
下一页
加密解密
Built with