手机网页即时到账接口

签名

MD5签名

在MD5签名时,需要私钥参与签名。MD5的私钥是以英文字母和数字组成的32位字符串。商户可登录到商户服务中心,安装数字证书,在“技术服务”栏目中点击“交易安全校验码”,即可查看。

  • 请求时签名

    1. 拿到请求时的待签名字符串
    2. 把私钥直接拼接到待签名字符串后面,形成新的字符串
    3. 利用MD5的签名函数对这个新的字符串进行签名运算,从而得到32位签名结果字符串(该字符串赋值于参数sign)
  • 通知返回时验证签名

    1. 获得到通知返回时的待签名字符串
    2. 把私钥直接拼接到待签名字符串后面,形成新的字符串
    3. 利用MD5的签名函数对这个新的字符串进行签名运算,得到32位签名结果字符串
    4. 这个新的字符串与支付宝通知返回参数中的参数sign的值进行验证是否相等,来判断签名是否验证通过

DSA、RSA签名

在DSA或RSA的签名时,需要私钥和公钥一起参与签名。私钥与公钥皆是客户通过OPENSSL来生成得出的。客户把生成出的公钥与支付宝技术人员配置好的支付宝公钥做交换。因此,在签名时,客户要用到的是客户的私钥及支付宝的公钥。

  • 请求时签名

    当拿到请求时的待签名字符串后,把待签名字符串与客户的私钥一同放入DSA或RSA的签名函数中进行签名运算,从而得到签名结果字符串。

  • 解密

    当获得到通知返回时的原始数据后,首先要对加密的参数做解密。

    • 在授权接口中,要解密的返回参数是“res_data”。
    • 在交易接口中,要解密的返回参数是“notify_data”。

    即把res_data或notify_data、商户私钥一同放入RSA的解密函数中进行解密运算,从而得到解密结果字符串。

  • 通知返回时验证签名

    当获得到通知返回时的待签名字符串后,把待签名字符串、支付宝提供的公钥、支付宝通知返回参数中的参数sign的值三者一同放入DSA或RSA的签名函数中进行非对称的签名运算,来判断签名是否验证通过。