OCR 生成签名

最近更新时间:2019-09-06 10:24:43

准备步骤

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

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

基本步骤

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

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

参考示例

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