OCR 生成签名

最近更新时间:2019-07-30 17:18:07

准备步骤

  • 下载 SDK,请联系您的产品对接专员获取密码。
  • 前置条件:请合作方确保 NONCE ticket 已经正常获取,获取方式请参见 NONCE ticket 获取
  • 合作方根据本次人脸核身的如下参数生成签名,需要签名的参数信息如下:
参数 说明 来源
wbappid 请添加小助手微信 faceid001,进行线下对接获取 腾讯云线下对接分配
userId 用户唯一标识 合作方自行分配(与 SDK 里面定义的 userId 保持一致)
version 参数值:1.0.0 -
ticket 合作伙伴服务端缓存的 tikcet,注意是 NONCE 类型 获取方式请参见 NONCE ticket 获取(所用的 userId 参数值需要和 SDK 里面定义的 userId 保持一致)
nonceStr 必须是32位随机数 合作方自行生成(与接口里面定义的随机数保持一致)

注意:

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

基本步骤

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

注意:

签名算法请参见 签名算法说明

参考示例

  • 请求参数:
    参数参数值
    appIdIDAXXXXX
    userIduserID19959248596551
    nonceStrkHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T
    version1.0.0
    ticketXO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMS
  • 字典排序后的参数为:
    [1.0.0, IDAXXXXX, XO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMS , kHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7T, userID19959248596551]
  • 拼接后的字符串为:
    1.0.0IDAXXXXXXO99Qfxlti9iTVgHAjwvJdAZKN3nMuUhrsPdPlPVKlcyS50N6tlLnfuFBPIucaMSkHoSxvLZGxSoFsjxlbzEoUzh5PAnTU7TuserID19959248596551
  • 计算 SHA1 得到签名:
    该字符串就是最终生成的签名(40位),不区分大小写。
    D7606F1741DDCF90757DA924EDCF152A200AC7F0