合作方生成签名

最近更新时间:2019-06-03 10:59:33

准备步骤

  • 前置条件:请合作方确保 SIGN ticket 已经正常获取,获取方式见 SIGN ticket 获取 。
  • 合作方根据本次人脸比对的如下参数生成签名,需要签名的参数信息如下:
参数 说明 来源
appId 腾讯服务分配的 AppID 腾讯云线下对接分配
orderNo 订单号,本次服务上送的订单号,唯一标识 合作方自行分配
nonce 随机数
32位随机串(字母+数字组成的随机数)
合作方自行生成(与接口里面定义的随机数保持一致)
version 1.0.0 -
api ticket 合作伙伴服务端缓存的 tikcet,注意是 SIGN 类型 获取方式见 SIGN ticket 获取

注意:

签名的数据需要和使用该签名的接口中的请求参数保持一致。

基本步骤

  1. 生成一个32位的随机字符串(字母和数字) nonce(登录时也要用到),将 webankAppId、orderNo、version、ticket、nonce 共5个参数的值进行字典序排序。
  2. 将排序后的所有参数字符串拼接成一个字符串进行 SHA1 编码。
  3. SHA1 编码后的40位字符串作为签名(sign)。

注意:

签名算法可参考 签名算法说明

参考示例

  • 请求参数:
    webankAppId= appId001
    nonce = kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T (必须为 32 位)
    version = 1.0.0
    orderNo = aabc1457895464
    ticket=FxlAe3HFtEy73Um0pJNzIUriwtfnS3KRcPXiesd5ulS4XRAIcT0FbfaP52dwZf5S
  • 字典排序后的参数为:
    [1.0.0,FxlAe3HFtEy73Um0pJNzIUriwtfnS3KRcPXiesd5ulS4XRAIcT0FbfaP52dwZf5S, aabc1457895464, appId001,kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T]
  • 拼接后的字符串为:
    1.0.0FxlAe3HFtEy73Um0pJNzIUriwtfnS3KRcPXiesd5ulS4XRAIcT0FbfaP52dwZf5Saabc1457895464appId001kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T
  • 计算 SHA1 得到签名:
    该字符串就是最终生成的签名(40位),不区分大小写。
    993D057C652D97FD90D5D298F2E5DC4B8D893CBC