【微信】签名生成-用户态签名
一段Node.js使用的生成微信用户态签名的函数。
如何使用:
假设
sessionKey是9hAb/NEYUlkaMBEsmFgzig==
post_body是 {“openid”: “xxx”, “user_ip”: “127.0.0.1”, “env”: 0}
那么实现代码就是:
let sessionKey = "9hAb/NEYUlkaMBEsmFgzig=="
let post_body = '{"openid": "xxx", "user_ip": "127.0.0.1", "env": 0}'
let signature = createSignature(sessionKey,post_body)
console.log("signature",signature)
函数代码:
//**
* 生成用户态签名
* @param sessionKey
* @param postBody
* @returns {string}
*/
function createSignature(sessionKey,postBody) {
let sha1 = crypto.createHmac("sha256",sessionKey); //定义加密方式:md5不可逆,此处的md5可以换成任意hash加密的方法名称;
sha1.update(postBody ,'utf-8' );
return sha1.digest("hex"); //加密后的值d
}