用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

微客吧 首页 教程 微信小程序 新手教程 查看内容

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

纸飞机 2018-3-6 16:11

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

作者:柯云,来自

原文地址


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

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

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

  1. function safeAdd (x, y) {
  2. var lsw = (x & 0xFFFF) + (y & 0xFFFF)
  3. var msw = (x >> 16) + (y >> 16) + (lsw >> 16)
  4. return (msw << 16) | (lsw & 0xFFFF)
  5. }
  6. /*
  7. * Bitwise rotate a 32-bit number to the left.
  8. */
  9. function bitRotateLeft (num, cnt) {
  10. return (num << cnt) | (num >>> (32 - cnt))
  11. }
  12. /*
  13. * These functions implement the four basic operations the algorithm uses.
  14. */
  15. function md5cmn (q, a, b, x, s, t) {
  16. return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b)
  17. }
  18. function md5ff (a, b, c, d, x, s, t) {
  19. return md5cmn((b & c) | ((~b) & d), a, b, x, s, t)
  20. }
  21. function md5gg (a, b, c, d, x, s, t) {
  22. return md5cmn((b & d) | (c & (~d)), a, b, x, s, t)
  23. }
  24. function md5hh (a, b, c, d, x, s, t) {
  25. return md5cmn(b ^ c ^ d, a, b, x, s, t)
  26. }
  27. function md5ii (a, b, c, d, x, s, t) {
  28. return md5cmn(c ^ (b | (~d)), a, b, x, s, t)
  29. }
  30. /*
  31. * Calculate the MD5 of an array of little-endian words, and a bit length.
  32. */
  33. function binlMD5 (x, len) {
  34. /* append padding */
  35. x[len >> 5] |= 0x80 << (len % 32)
  36. x[(((len + 64) >>> 9) << 4) + 14] = len
  37. var i
  38. var olda
  39. var oldb
  40. var oldc
  41. var oldd
  42. var a = 1732584193
  43. var b = -271733879
  44. var c = -1732584194
  45. var d = 271733878
  46. for (i = 0; i < x.length; i += 16) {
  47. olda = a
  48. oldb = b
  49. oldc = c
  50. oldd = d
  51. a = md5ff(a, b, c, d, x[i], 7, -680876936)
  52. d = md5ff(d, a, b, c, x[i + 1], 12, -389564586)
  53. c = md5ff(c, d, a, b, x[i + 2], 17, 606105819)
  54. b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330)
  55. a = md5ff(a,
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
分享至 : QQ空间
收藏