当前位置: 首页 > news >正文

微信小程序-数据加密

npm install  crypto-js

utils/aes.js

const CryptoJS = require('crypto-js');// 默认的 KEY 与 iv 如果没有给
const KEY = CryptoJS.enc.Utf8.parse('KrQ4KAYOEyAz66RS'); // 十六位十六进制数作为密钥
const IV = CryptoJS.enc.Utf8.parse('ep1YCmxXuxKe4eH1'); // 十六位十六进制数作为密钥偏移量/*** AES加密 :字符串 key iv  返回base64* 把默认的KEY 与 iv赋值给变量* 如果有keyStr 重新赋值密钥* 重新设置密钥偏移量*/
function encrypted(word, keyStr, ivStr) {let key = KEY;let iv = IV;if (keyStr) {key = CryptoJS.enc.Utf8.parse(keyStr);iv = CryptoJS.enc.Utf8.parse(ivStr);}const srcs = CryptoJS.enc.Utf8.parse(word);const encrypted = CryptoJS.AES.encrypt(srcs, key, {iv, // 偏移量mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}// 解密
function decrypted(word, keyStr, ivStr) {let key = KEY;let iv = IV;if (keyStr) {key = CryptoJS.enc.Utf8.parse(keyStr);iv = CryptoJS.enc.Utf8.parse(ivStr);}const base64 = CryptoJS.enc.Base64.parse(word);const src = CryptoJS.enc.Base64.stringify(base64);const decrypted = CryptoJS.AES.decrypt(src, key, {iv, // 偏移量mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8);return decryptedStr.toString();
}
module.exports = {encrypted,decrypted
};

页面应用

var aes = require('../../utils/aes.js');

数据加密:

var encrypt = aes.encrypted(Date.now()+'@'+app.globalData.id+'@'+'booking');

http://www.lryc.cn/news/571616.html

相关文章:

  • 数据结构 栈与队列 6.18
  • Vue3 × DataV:三步上手炫酷数据可视化组件库
  • Matplotlib快速入门
  • 2D写实交互数字人:让AI形象拥有“真人温度“的技术革命
  • 《HTTP权威指南》 第1-2章 HTTP和URL基础
  • C#实现图片文字识别
  • 【Pandas】pandas DataFrame unstack
  • LVS+Keepalived高可用群集
  • 【请关注】真实案例pg及kong安装部署
  • CppCon 2017 学习:C++ in Academia
  • GNU Octave 基础教程(2):变量与数据类型详解(一)
  • 技术与情感交织的一生 (八)
  • Git中新创建分支是否为空?这可得视情况而定!
  • JVM-类加载机制
  • 论文笔记 <交通灯><多智能体>MetaLight:基于价值的元强化学习用于交通信号控制
  • 20.jsBridge多页面交互与原生事件监听冲突问题
  • 锂电池充电管理芯片XSP30 适用于2-3节串联锂电池升降压快速充电
  • 新发布的一款使用ReactNative新架构加载Svga动画的开源插件[android/ios]
  • 【解决方案】Java 11 报错 <javax.net.ssl.SSLException: Tag mismatch!>,Java 8 却没问题?
  • 二分K-means:让聚类更高效、更精准!
  • Alpine Docker 容器中安装包缓存与 C/C++ 运行问题
  • 2025年暑期在线实习项目分享
  • 专业音乐播放器分享,Foobar2000多格式解码的技术实现,界面自定义的实用技巧
  • [计算机网络] 网络的诞生:协议的认知建立
  • AndroidView的简单使用
  • 【第二章:机器学习与神经网络概述】01.聚类算法理论与实践-(3)DBSCAN 聚类算法
  • python学智能算法(十二)|机器学习朴素贝叶斯方法初步-拉普拉斯平滑计算条件概率
  • Java安全-常规漏洞问题(SQL注入,XXE,SSRF,RCE)
  • Linux系统移植10:uboot移植
  • Prompt+Agent+LLM:半导体炉管设备健康评估的落地实战