签名串:按照接口中定义的参数名按首字母(首字母相同看第二个字母,依此类推)顺序进行排列,将所有参数值(除了 hmac)按照上面的排序通过key=value&方式连接起来,加密方式为MD5。

第一步,下载md5.js,放置于utils文件夹下。

第二步,utils文件夹下,新建sortJson.js,用于顺序key=value并以&连接。

function jsonSort(jsonObj) {let arr = [];for (var key in jsonObj) {arr.push(key)}arr.sort();let str = '';for (var i in arr) {str += arr[i] + "=" + jsonObj[arr[i]] + "&"}return str.substr(0, str.length - 1)
}exports.jsonSort = jsonSort;

第三步,所需页面引入并使用。

const { jsonSort } = require("../../utils/sortJson.js");
const { hexMD5 } = require('../../utils/md5.js');
const MD5_KEY = '';  // 此MD5_KEY为java提供,固定值。// 此处请求为封装请求,请查看微信小程序请求封装
https://blog.csdn.net/qq_46003166/article/details/104661384getPhone(){//发起网络请求let url = app.globalData.url + '/phoneNumber';let reqInfo = {requestId: Math.round(new Date().getTime() / 1000),distributorId: '111',organizationCode: '111',signType: 'MD5',iv: this.decodePhone[0],encryptedData: this.decodePhone[1],sessionKey: wx.getStorageSync('temp')[1],timeStamp: Math.round(new Date().getTime() / 1000),};// 此处为使用方式,具体根据实际要求使用reqInfo.hmac = hexMD5(jsonSort(reqInfo) + MD5_KEY).toUpperCase()let data = Object.defineProperties(reqInfo, {hmac: {  //定义属性hmacvalue: reqInfo.hmac,writable: true,  //可写}});app.wxRequest('POST', url, data, (res) => {console.log(res.data)}, (err) => {console.log(err.errMsg)wx.showToast({title: '提示内容',icon: 'none',duration: 1500})})},

微信小程序-MD5加密相关推荐

  1. 微信小程序------MD5加密(支持中文和不支持中文)和网络请求(get和post)

    2019独角兽企业重金招聘Python工程师标准>>> 开发中常常遇到MD5加密,最近做小程序也用到了,简单总结了一下: 这要有两个加密文件,一个不支持中文,一个支持,所以你选择支持 ...

  2. 微信小程序md5加密支持中文和特殊字符

    微信小程序默认的md5加密不支持中文和特殊符号,如果需要支持,需要引入md5加密.也是npm包,可在js和nodejs引入 或者使用cdn(https://cdn.bootcss.com/blueim ...

  3. 微信小程序 AES加密ECB模式

    微信小程序 AES加密网上大部分是CBC模式,但是java后台用的是ECB模式 ECB模式 js文件下载 下载链接 (有好多写着ECB模式,但是下载了还是CBC的,可恨-) 下面展示一下两种模式解密结 ...

  4. 微信小程序--sha1加密元素以字典顺序排序微信小程序接入微信公众平台

    java--sha1加密 算法实现 bytes[i] & 0xFF 原理详解 以字典顺序排序 php----$_GET[] http认证中的nonce与timestamp token和nonc ...

  5. 微信小程序AES加密解密

    微信小程序  其实在调用一些第三方 js的时候 其实没有大家想的那么复杂,无非就是把原生js调用方式   改为微信小程序 js调用方式 废话不多说直接贴代码 其实就是将原生function 或者 对象 ...

  6. 微信小程序RSA加密与 Java RSA加密结果相同

    业务需要,小程序上送到后台的数据需要使用RSA加密,后台返回的数据需要RSA解密.折腾了好久,微信小程序的加解密结果始终不一样.终于解决这问题记录一下. PS:后续使用过程中,发现小程序加密内容过长的 ...

  7. 微信小程序如何加密?

    随着微信的用户量基础越来越大,小程序越来越成熟,很多线上教育或者视频播放都可以使用小程序实现.不过对于视频版权者来说如何保护自有版权视频的安全性是还是必须要考虑的.那么小程序播放视频能不能做加密呢? ...

  8. 微信小程序 php解密,微信小程序des加密、PHP des解密

    最近在做对小程序传输数据进行加密,加密方法有很多,使用的是des对称加密 采用的是CBC模式, 需要传入内容,密钥,初始化向量3个参数 var server = require('../../util ...

  9. 微信小程序ras加密(比如密码加密)

    1.小程序公共js文件引入wx_rsa.js文件   下载地址:https://download.csdn.net/download/huanhunacsdn/10433043 2.自己写的js va ...

最新文章

  1. android 实现磨砂效果_Android 5.0 下毛玻璃(磨砂)效果如何实现?
  2. mysql 并发_mysql如何处理高并发
  3. 大数据_Flink_流式处理_简介_为什么要用Flink---Flink工作笔记0002
  4. 专业卸载工具Your Uninstaller! Pro
  5. 计算机科学与工程学院金巍,附件1湖北省思想政教育先进高校名单-附件1-.doc
  6. Elasticsearch汉字补全和拼写纠错
  7. Splay Tree伸展树
  8. 计算机科学与技术有剪辑吗,计算机科学与技术学院第七届“微剪辑大赛”
  9. java空指针异常【解决思路-方法】
  10. 【电子电路】变送器信号 4~20mA 恒流源电路设计
  11. 题解 [SP4354][AcWing137]TWINSNOW - Snowflakes/雪花雪花雪花
  12. 在ssd上win10和linux双系统,windows 10 ssd ubuntu hdd双系统
  13. 什么是数据仓库的主题
  14. MATLAB_LSB_隐藏水印和提取,附代码
  15. 思科、IBM、甲骨文、Uber相继裁员,寒冬将至 ?
  16. 项目的开发流程(大公司)
  17. 2022-2028年中国艾灸市场研究及前瞻分析报告
  18. leetcode--两数相加
  19. 社区活动| Apache Doris 社区开发者会议议题征集中
  20. 数据库指向默认模式(Schema)

热门文章

  1. 移动硬盘里文件夹不见了 内容还在 不显示
  2. 记录JVM中Eden区、Survivor from区和Survivor to区及Minor GC和Major GC的理解
  3. 穿越火线枪战王者服务器维护,CF手游体验服6.10更新维护公告 六月版本来袭
  4. move_base导航框架中recovery_behaviors
  5. MACD指标的数学意义解析
  6. p光圈和dc光圈的区别_什么是光圈?
  7. win10无法使用Linux的samba,拒绝访问
  8. asp 更新 mysql数据库_asp update mysql数据库
  9. Python守护进程daemon实现
  10. 一些牛人榜样,多看看他们写的东西(后续整理牛人的blog等)