微信小程序使用sha1实现密码加密的方法介绍,字符串,程序,转换为,详解,函数

微信小程序使用sha1实现密码加密的方法介绍

易采站长站,站长之家为您整理了微信小程序使用sha1实现密码加密的方法介绍的相关内容。

这篇文章主要介绍了微信小程序 sha1 实现密码加密实例详解的相关资料,需要的朋友可以参考下

微信小程序 sha1 实现密码加密实例详解

在utils中的util.js 文件中增加 函数 实现 字符串转换为16进制加密后的字符串

function encodeUTF8(s) { var i, r = [], c, x; for (i = 0; i < s.length; i++) if ((c = s.charCodeAt(i)) < 0x80) r.push(c); else if (c < 0x800) r.push(0xC0 + (c >> 6 & 0x1F), 0x80 + (c & 0x3F)); else { if ((x = c ^ 0xD800) >> 10 == 0) //对四字节UTF-16转换为Unicode c = (x << 10) + (s.charCodeAt(++i) ^ 0xDC00) + 0x10000, r.push(0xF0 + (c >> 18 & 0x7), 0x80 + (c >> 12 & 0x3F)); else r.push(0xE0 + (c >> 12 & 0xF)); r.push(0x80 + (c >> 6 & 0x3F), 0x80 + (c & 0x3F)); }; return r;};// 字符串加密成 hex 字符串function sha1(s) { var data = new Uint8Array(encodeUTF8(s)) var i, j, t; var l = ((data.length + 8) >>> 6 << 4) + 16, s = new Uint8Array(l << 2); s.set(new Uint8Array(data.buffer)), s = new Uint32Array(s.buffer); for (t = new DataView(s.buffer), i = 0; i < l; i++)s[i] = t.getUint32(i << 2); s[data.length >> 2] |= 0x80 << (24 - (data.length & 3) * 8); s[l - 1] = data.length << 3; var w = [], f = [ function () { return m[1] & m[2] | ~m[1] & m[3]; }, function () { return m[1] ^ m[2] ^ m[3]; }, function () { return m[1] & m[2] | m[1] & m[3] | m[2] & m[3]; }, function () { return m[1] ^ m[2] ^ m[3]; } ], rol = function (n, c) { return n << c | n >>> (32 - c); }, k = [1518500249, 1859775393, -1894007588, -899497514], m = [1732584193, -271733879, null, null, -1009589776]; m[2] = ~m[0], m[3] = ~m[1]; for (i = 0; i < s.length; i += 16) { var o = m.slice(0); for (j = 0; j < 80; j++) w[j] = j < 16 ? s[i + j] : rol(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1), t = rol(m[0], 5) + f[j / 20 | 0]() + m[4] + w[j] + k[j / 20 | 0] | 0, m[1] = rol(m[1], 30), m.pop(), m.unshift(t); for (j = 0; j < 5; j++)m[j] = m[j] + o[j] | 0; }; t = new DataView(new Uint32Array(m).buffer); for (var i = 0; i < 5; i++)m[i] = t.getUint32(i << 2); var hex = Array.prototype.map.call(new Uint8Array(new Uint32Array(m).buffer), function (e) { return (e < 16 ? "0" : "") + e.toString(16); }).join(""); return hex;};

导出函数

module.exports = { formatTime: formatTime, sha1:sha1}

这样就可以在其他页面中调用了

var util = require('../../utils/util.js')util.sha1("123456")

以 密码为 123456 作为示例,在线加密结果

小程序中调用结果

加密结果是相同的以上就是关于对微信小程序使用sha1实现密码加密的方法介绍的详细介绍。欢迎大家对微信小程序使用sha1实现密码加密的方法介绍内容提出宝贵意见

小程序 sha1和服务器有关系吗,微信小程序使用sha1实现密码加密的方法介绍相关推荐

  1. 微信小程序可以加服务器上的字体,微信小程序中自定义字体

    微信小程序支持自定义字体开放出来也有段时间,这边整理下使用自定义字体中,容易忽略的一些问题,和简便的全局自定义方式.如果是同时加载两种字体包,先下载下来的会被后下载下来的字体包给覆盖. 官网接口文档 ...

  2. 小程序怎么清服务器缓存,怎么清理微信小程序缓存 微信小程序缓存删除的方法...

    微信小程序上线之后,关注的小程序越多,哪么将占用的手机空间就越大,这些程序会产生一定的缓存,那么怎么清理小程序缓存呢?微信小程序内的缓存到底如何清除?和小编一起来看看删除微信小程序缓存的方法吧. 一些 ...

  3. 微信小程序上传图片到服务器总是失败_微信小程序怎么上传图片到服务器?

    微信小程序怎么上传图片到服务器?相信很多人都会把小程序图片保存到本地吧,但是把图片上传到服务器就不一定了,下面一起随小编看看微信小程序怎么上传图片到服务器吧. 微信小程序怎么上传图片到服务器? 首先, ...

  4. 小程序云开发服务器太慢,为什么微信小程序的云开发响应这么慢?

    为什么微信小程序的云开发响应这么慢?Why is the response of WeChat applet cloud development so slow?为什么微信小程序的云开发响应这么慢? ...

  5. 微信小程序上传图片到服务器总是失败_微信小程序上传图片过大导致请求失败的解决方法...

    很多时候我们都会碰到小程序上传图片时因为图片过大而导致请求失败,同时出现各种各样的问题,那么今天来给大家写一个微信小程序上传图片过大导致请求失败的完美解决办法. 以云开发小程序图片检测为例,如果图片过 ...

  6. 小程序改了服务器域名无法显示,微信小程序显示不支持打开非业务域名的解决方法...

    随着科技时代的进步,无论是软件还是硬件都在飞速的成长和创新,从以前大多数都是软件到现在快应用小程序的出现,都是经历了非常多的时间演变,才慢慢的到了如今这个地步. 快应用:九大手机厂商基于硬件平台共同推 ...

  7. 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布(3元获取腾讯云服务器带小程序支持系统)...

    很多朋友都认为微信小程序申请.部署.发布很难,需要很长时间. 实际上,微信和腾讯云同是腾讯产品,已经提供了10分钟(根据准备资源情况,已完成小程序申请认证)完成小程序开发.部署.发布的方式.当然,实现 ...

  8. 最新家庭亲戚关系计算器微信小程序源码

    正文: 亲戚关系计算器微信小程序源码是一款为避免遇到亲戚却不知道该怎么称呼时遇到的尴尬情况而开发的 由于社会节奏的快速发展,现在的关系不像以前一样经常联系和维护,导致了有些自己家的一些亲戚也疏远了很多 ...

  9. 微信小程序详细图文教程-10分钟完成微信小程序开发部署发布 小程序趟过的坑,你遇到几个??

    很多朋友都认为微信小程序申请.部署.发布很难,需要很长时间. 实际上,微信和腾讯云同是腾讯产品,已经提供了10分钟(根据准备资源情况,已完成小程序申请认证)完成小程序开发.部署.发布的方式.当然,实现 ...

最新文章

  1. 【整理】【转载】高薪是怎么跳出来的?
  2. Android ANR 分析
  3. 百度前端技术学院Task20 笔记
  4. 伪共享(false sharing),并发编程无声的性能杀手
  5. 在unity2d同屏显示9千人
  6. 重磅!这个生信神器助你文章秒出图——miRNA与基因互作数据库
  7. app 缓存html页面,HTML5本地存储VS App缓存离线网站浏览
  8. 数据库配置不当,8.8亿条医疗记录遭泄露
  9. is 32-bit instead of 64-bit 亲测可用
  10. vcpkg安装boost的一些问题,
  11. 使用pdfFactory Pro虚拟打印机便笺功能为文件添加批注
  12. API是什么?API的基础知识你知道多少
  13. xp下安装什么linux系统版本,windows xp sp3下怎么安装linux系统?
  14. 网络剧网络电影也有“龙标”了,“上线备案号”时代结束
  15. 【Netty】九、Netty自定义协议
  16. AXI3和AXI4的接口信号区别
  17. 找寻自己的哲学世界?
  18. mysql数据库的配置
  19. Facade模式框架源码
  20. 用android怎么做一个机器人,怎样写一个类似ROS的易用的android机器人框架(2)

热门文章

  1. android 服务器异步回调,android – 如何从异步任务返回结果
  2. iOS NSRunloop 详解
  3. ubuntu安装python3.6_Ubuntu16.04怎样安装Python3.6
  4. Python正则匹配HTML,python正则匹配html标签_Python爬虫常用正则表达式及HTML网页标签分析总结...
  5. PHP设计模式 外观模式(Facade)
  6. c语言逆序输出字符串指针,菜鸟求助-如何用指针法将一串字符按单词的倒序输出?如:i love yo...
  7. C语言判断数组中是否存在该数
  8. oracle11g与weblogic兼容,WebLogic 10.3.6与JDK 1.7的兼容问题
  9. html5画布显示不出来,运行后html5画布没出来
  10. 安装hbas_非常详细的HBase的安装与配置