欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序中远程调用接口及使用md5加密

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:505

HTML5影视传媒文化公司类网

2020-05-12   浏览:502

微信小程序中远程调用接口及使用md5加密

发布时间:2020-11-25  

作者:柯云,来自原文地址 
背景:使用微信小程序调用https接口,md5加密当前时间戳,然后再md5(时间戳的md5+约定好的key)生成token,来实现简单校验。服务端接口,判断时间戳是否在有效时间内,然后生成token对比传过来的token。

微信小程序使用的开发语言是js,网上找到js实现md5加密的代码,融合进小程序内使用

在utils目录下新建md5.js文件

 

function safeAdd (x, y) {

var lsw = (x & 0xFFFF) + (y & 0xFFFF)

var msw = (x >> 16) + (y >> 16) + (lsw >> 16)

return (msw << 16) | (lsw & 0xFFFF)

}

 

/*

* Bitwise rotate a 32-bit number to the left.

*/

function bitRotateLeft (num, cnt) {

return (num << cnt) | (num >>> (32 - cnt))

}

 

/*

* These functions implement the four basic operations the algorithm uses.

*/

function md5cmn (q, a, b, x, s, t) {

return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)

}

function md5ff (a, b, c, d, x, s, t) {

return md5cmn((b & c) | ((~b) & d), a, b, x, s, t)

}

function md5gg (a, b, c, d, x, s, t) {

return md5cmn((b & d) | (c & (~d)), a, b, x, s, t)

}

function md5hh (a, b, c, d, x, s, t) {

return md5cmn(b ^ c ^ d, a, b, x, s, t)

}

function md5ii (a, b, c, d, x, s, t) {

return md5cmn(c ^ (b | (~d)), a, b, x, s, t)

}

 

/*

* Calculate the MD5 of an array of little-endian words, and a bit length.

*/

function binlMD5 (x, len) {

/* append padding */

x[len >> 5] |= 0x80 << (len % 32)

x[(((len + 64) >>> 9) << 4) + 14] = len

 

var i

var olda

var oldb

var oldc

var oldd

var a = 1732584193

var b = -271733879

var c = -1732584194

var d = 271733878

 

for (i = 0; i < x.length; i += 16) {

olda = a

oldb = b

oldc = c

oldd = d

 

a = md5ff(a, b, c, d, x[i], 7, -680876936)

d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)

c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)

b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)