nodejs开发微信小程序怎么实现密码加密
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要讲解了"nodejs开发微信小程序怎么实现密码加密",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"nodejs开发微信小程序怎么实现密码加密
千家信息网最后更新 2025年01月21日nodejs开发微信小程序怎么实现密码加密
这篇文章主要讲解了"nodejs开发微信小程序怎么实现密码加密",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"nodejs开发微信小程序怎么实现密码加密"吧!
在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转换为Unicodec = (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 作为示例,在线加密结果
小程序中调用结果
加密结果是相同的
感谢各位的阅读,以上就是"nodejs开发微信小程序怎么实现密码加密"的内容了,经过本文的学习后,相信大家对nodejs开发微信小程序怎么实现密码加密这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
加密
密码
程序
发微
字符
字符串
结果
学习
内容
函数
j++
相同
字节
就是
思路
情况
文件
文章
更多
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
提升网络安全意识心得
惠州赛洁网络技术有限公司
管理服务器有哪些品牌
计算机网络技术nat是什么
青石板贴图软件开发
网络安全检查责任制
sql数据库密码过期
华为网络安全认证证书是什么
无锡推广软件开发产品介绍
网络安全 本质安全
想在六安找计算网络技术工作
取消数据库关键列
蚌埠市网络安全管理
无锡erp软件开发教程
虚拟机连接数据库失败
数据库的作业
无线网络技术导论整体认识
天堂2 服务器端
创建数据库连接在哪
佛山政务服务管理软件开发
中文数据库视化网页软件
西安高新区软件开发公司有几家
软件开发中的涉及风险
今日网络安全报道
济南商城软件开发哪家做的好
洛阳市网络安全宣传周
合肥新华三校招软件开发面试
安阳工学院服务器端口
内存数据库横向对比
一个数据库实例有多个用户