Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 2.16 KB

File metadata and controls

43 lines (37 loc) · 2.16 KB

准备步骤

前置条件:请合作方确保 SIGN ticket 已经正常获取,获取方式见 获取 SIGN ticket。 合作方根据本次 OCR 识别的如下参数生成签名,需要签名的参数信息如下:

参数 说明 来源
appId 业务流程唯一标识,即 wbappid 可参考 获取 WBappid 指引在人脸核身控制台内申请
orderNo 订单号,字母/数字组成的字符串,本次服务上送的订单号,唯一标识 合作方自行分配
nonce 随机数
32位随机串(字母+数字组成的随机数)
合作方自行生成(与接口里面定义的随机数保持一致)
version 1.0.0 -
ticket 合作伙伴服务端缓存的 ticket,注意是 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