主题
签名说明
签名步骤
- 取请求体全部非空字段(排除
sign) - 字段名按字典序排序
- 拼接:
k1=v1&k2=v2&...&key={apiSecretKey} - 对拼接串做 MD5,结果转 大写
- 使用商户 RSA私钥 对 MD5 字符串的 UTF-8 字节做私钥加密(
RSA/ECB/PKCS1Padding),再 Base64,写入sign
签名示例
需要注意的是,RSA加密同样的数据,得到的密文都是不同的。您的代码需要确保能使用私钥进行加密,并且使用我提供的这个实例公钥可以解密到示例中sign的密文,密文的解密结果为拼接字符串的md5大写结果"3270046F5566702D70DA92D1C4725579"
SecretKey
text
UxLj9UXCL1Kbgc4oiuByXs2ta9blbz7wRSA密钥对
RSA公钥
text
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAytFhze7xM54M35t5sxDknH63bXNqz3Oe1jgfL43U1MLi/xD+Owu6uENGV41ZwofMDcB0j2R9KgpNV08PhYB0+LkRoGnF5WpVlWbcFEXdpYHthDvB5gIBXOvl1GFkoLNvdoDMSI5MNqwyxR/AzopuZUTUXE294apRDmTa9nCw/PjKuWBroaAmNhAPRx66yQxQSKFly377qfYZp7p2UF+EcJkZuO0IelEn+VVmbAlqiwjYSvxqBk/LEcE7PSUJ/42poJ47XTvft1U4iQuWzjiCuAYCCmAwLeARuZB0SphCgEhBLPdaOJVxxJ7Bfjbktm4mIpkDjDQ5yiCmSIYmiohqoQIDAQABRSA私钥
text
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDK0WHN7vEzngzfm3mzEOScfrdtc2rPc57WOB8vjdTUwuL/EP47C7q4Q0ZXjVnCh8wNwHSPZH0qCk1XTw+FgHT4uRGgacXlalWVZtwURd2lge2EO8HmAgFc6+XUYWSgs292gMxIjkw2rDLFH8DOim5lRNRcTb3hqlEOZNr2cLD8+Mq5YGuhoCY2EA9HHrrJDFBIoWXLfvup9hmnunZQX4RwmRm47Qh6USf5VWZsCWqLCNhK/GoGT8sRwTs9JQn/jamgnjtdO9+3VTiJC5bOOIK4BgIKYDAt4BG5kHRKmEKASEEs91o4lXHEnsF+NuS2biYimQOMNDnKIKZIhiaKiGqhAgMBAAECggEABGtZ4MHmhwTwN89+cDg3m4h8MqgQk1f0FavSE+Qov3i2R5ebKw4kN8V1QQVSL8m7yL9NOOZIHwpLvXGyS1rhXZ2yfmjcnlVF+3IS/MT5lZSQWGSxEsP/m6rDGqDDR5hGVxYrEWAKpYi0t+BzaAq6mWW9tPvPjc0rTEuGvQbHSAFRuDGnXchNiwx4onMHk5F2i/2mGvghciu1iE/sbkHkxCoRWihwBLzQpcCbcvwuAY4I1AohW6w8zFKmRO1EkMbJTXByjwpL3QEEWuvYWlEx3W1n8BohM07FtmKN4fFaBeFueHlLeT42WEA1Pf2Ysp+CbBAEtsk/iX3AD0yJzYR3QQKBgQD5/8QTZ9W7Od2C+s1lIsdgTU0A5upBQa203mwsv52MRilB6iW05I54pNrZUhETFZrvCXaf/ytjW39DX+PaQKj091JQ2SQ9b3NRaFsS/o+dR6F/yYzfRCJfFQcUF8wLyPnwXG0ZylzREufba14H4rmwRWiwIPND6n8EzESKYt9swQKBgQDPr7COtlFe3ziA/CCoo3d8tDtRj6wTf/Uh18L1VrqU4VeZhDrOEPsc/CemBRn746Y7wCvpCvwkbk7QbbFo1aLzYDSpe7LErKQkb+giTiLG4rYWrg39JQQsqYq744qxICE0wmXE105XtIi4wv7VZ23jVVNeMXmEe6TIAJgn2b4V4QKBgE+13S7SzLMFoDtC/HpivG9YNlUzSz3DUz94K8WY0wMG2+DIZ31l4odVCPKB2C/dk6jju48ILS1g3xL8YAoW08hHk1dz5Lox7vLl8yP7Ro8/Z573BJOrhcoLSlZ9v/GCAy9ASQkQHMgM3yB2+2RIRiyN9PMzjlz5R8af2rrFC7gBAoGADY6UYdx4106O66yJnTh+dj91l89fFi7GG51v9n/g0hMbmsPM6uKk4bF8DRRMK+siUMgslZvH9cDVmDlw2T0I1AY1qdKPStNSK6a6anLbRkxKQpS+CQY/jYLLsZQa25ETWdROvFipnoQEYLsp01hbDfnl5UIpgoJnsT6IsCFAjUECgYA0cx0bfV5D8EOAZ4QgPD2hm30wpoe30dP76yenyknPp5G1IdmXl+MmNcOzn5RG5JiZTtlYKUmiq9sWtRPf48dttJzmfhcYoJ2MONnDN7myaDgIt9hK0OzZxOPaJYw1myl+085He91MfbXMiOjPIKkN6tsM2JRKD2xyr+LiyFNL4Q==以下是以 “创建入款订单” 接口为例
请求体
json
{
"orderNo": "RM1788148751230",
"balance": "12.30",
"notifyUrl": "",
"tokenType": "USD",
"timestamp": 1788148762520,
"sign": "nyQjCGEXeWY+bxOZPcwJzq140kn718eOchf14z7wWUoXyrdk/+aWQJ/j/D573w1ivygG1LYMxahvDZaxD1dyEMjmUoMdcZRiSBSV5roEaVsrQGzTU+Lo5djGC41vM1nHi9yjn0OIyvcWixzy6LlR1idYwzGBBaF0Ye/GcrYA6Mi5lbWsWWZ7bOT5ASpka6sDu5Udv3HLiJRHAs0MmPBth5PFvUwf3hh8IwAK9R5G+SJ1ggu+12hfKKLTUhkRe1oX0wEylX913v3OU3EOpryacZU69i9Ufo52QM/h0q4fuQzE5J/kRMW2z+RYK7RPBRHjlei/HfE+F40JeLU0dxL7Bw=="
}拼接后的字符串
text
balance=12.30&orderNo=RM1788148751230×tamp=1788148762520&tokenType=USD&key=UxLj9UXCL1Kbgc4oiuByXs2ta9blbz7w拼接字符串的MD5(注意取大写)
text
3270046f5566702d70da92d1c4725579