【微信】签名生成-支付签名
一段Node.js使用的生成微信支付签名的函数。
如何使用:
假设
AppKey是12345
uri是/xpay/query_user_balance
post_body是 ‘{“openid”: “xxx”, “user_ip”: “127.0.0.1”, “env”: 0}’
那么实现代码就是:
let appkey = "12345"
let uri = '/xpay/query_user_balance'
let post_body = '{"openid": "xxx", "user_ip": "127.0.0.1", "env": 0}'
let paySIg = createPaySig(appKey,uri,post_body)
console.log("paySIg",paySIg)
函数代码:
/**
* 生成支付签名
* @param appKey
* @param uri
* @param postBody
* @returns {string}
*/
function createPaySig(appKey,uri,postBody){
let need_sign_msg = uri + '&' + postBody
let sha1 = crypto.createHmac("sha256",appKey); //定义加密方式:md5不可逆,此处的md5可以换成任意hash加密的方法名称;
sha1.update(need_sign_msg ,'utf-8' );
return sha1.digest("hex"); //加密后的值d
}