Commit e172e340 by 宋毅

tj

parent 197791e7
......@@ -52,17 +52,45 @@ class utilsTlBankSve extends AppServiceBase {
key.setOptions({ b: 1024, signingScheme: algorith });
key.importKey(privateKey, 'pkcs8-private');//导入密钥并设定格式
const publicDer = key.exportKey('pkcs8-public');
let text = Object.keys(parameters).sort().map(key => {
if (key != "sign_type" && key != "sign" && parameters[key]) {
return `${encodeURIComponent(key)}=${encodeURIComponent(parameters[key])}`
}
}).join('&');
// let text = Object.keys(parameters).sort().map(key => {
// if (key != "sign_type" && key != "sign" && parameters[key]) {
// return `${encodeURIComponent(key)}=${encodeURIComponent(parameters[key])}`
// }
// }).join('&');
let text =await this.getVerifyParams(parameters);
let buffer = Buffer.from(text);
let signature = key.sign(buffer).toString('base64');
return signature;
}
async getVerifyParams(params) {
var sPara = [];
if (!params) return null;
for (var key in params) {
if ((!params[key]) || key == "sign" || key == "sign_type") {
continue;
};
sPara.push([key, params[key]]);
}
sPara = sPara.sort();
var prestr = '';
for (var i2 = 0; i2 < sPara.length; i2++) {
var obj = sPara[i2];
if (i2 == sPara.length - 1) {
prestr = prestr + obj[0] + '=' + obj[1] + '';
} else {
prestr = prestr + obj[0] + '=' + obj[1] + '&';
}
}
return prestr;
}
/**
* 生成签名
* 支付宝官方文档:https://doc.open.alipay.com/docs/doc.htm?docType=1&articleId=106118
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment