微信小程序-数据加密

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');

相关推荐
2501_916007474 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
凡科网小帆9 小时前
2026小程序商城做的比较好的品牌,怎么选小程序商城品牌
小程序·小程序商城
2501_9159090610 小时前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
拖孩1 天前
用 AI 重解千年观音灵签,做了一个微信小程序,每天摇一摇,命运给你回应
前端·后端·微信小程序
黄华SJ520it1 天前
顶俏洗衣液模式制度开发介绍:S2B2C社交分销+多门店核销系统全解析
前端·数据库·小程序·零售·系统开发
北极糊的狐1 天前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
java1234_小锋1 天前
【免费】微信小程序网约车(打车,在线叫车,移动出行)系统(SpringBoot4+Vue3) 锋哥原创出品,必属精品
微信小程序·网约车·在线叫车·移动出行
show4332 天前
多格式导出怎么做?2026免费小程序TXT/SRT实践
开发语言·小程序·c#
AI砖家2 天前
AI编程—微信小程序开发规范
微信小程序·小程序·notepad++·ai编程
show4333 天前
2026小程序端视频转文字技术对比:识别引擎精度实测
小程序·音视频