【微信】签名生成-用户态签名

【微信】签名生成-用户态签名

一段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
}

相关推荐

  1. 签名生成-用户签名

    2024-07-17 14:18:05       21 阅读
  2. http请求签名生成算法

    2024-07-17 14:18:05       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 14:18:05       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 14:18:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 14:18:05       45 阅读
  4. Python语言-面向对象

    2024-07-17 14:18:05       55 阅读

热门阅读

  1. 创建React项目:使用 create-react-app 创建 React 应用

    2024-07-17 14:18:05       15 阅读
  2. 【多线程】线程安全的单例模式

    2024-07-17 14:18:05       20 阅读
  3. 什么是区块链

    2024-07-17 14:18:05       20 阅读
  4. 速盾:ddos高防ip哪里好用?

    2024-07-17 14:18:05       20 阅读
  5. Feign客户端是什么,它跟Ribbon有什么区别?

    2024-07-17 14:18:05       19 阅读
  6. 使用云服务器的Docker安装MySQL 5.7

    2024-07-17 14:18:05       17 阅读
  7. svn ldap认证临时切换到本地认证

    2024-07-17 14:18:05       17 阅读
  8. 定期整理pycharm相关缓存

    2024-07-17 14:18:05       16 阅读
  9. Linux C++ 055-设计模式之状态模式

    2024-07-17 14:18:05       17 阅读