微信小程序-数据加密

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

相关推荐
從南走到北1 小时前
物业收费管理小程序ThinkPHP+UniApp
微信小程序·小程序·uni-app·微信公众平台
说私域2 小时前
开源AI大模型AI智能名片S2B2C商城小程序源码赋能下的“信息找人”:人工智能时代的精准零售场景
大数据·人工智能·小程序·开源·零售
德莱厄斯3 小时前
简单聊聊小程序、uniapp及其生态圈
前端·微信小程序·uni-app
说私域3 小时前
定制开发开源AI智能名片S2B2C商城小程序:破解B2B营销四大难题的新路径
人工智能·小程序·开源·零售
小倪有点菜4 小时前
微信原生小程序转uniapp过程及错误总结
微信·小程序·uni-app
小柔说科技6 小时前
区块链+智能合约如何解决上门按摩行业的信任问题?——App开发案例
小程序·区块链·智能合约·软件开发·上门按摩·预约到家
老李不敲代码6 小时前
榕壹云外卖跑腿系统:基于Spring Boot的开源生活服务平台技术解析
spring boot·微信小程序·uni-app·开源·生活·软件需求
说私域7 小时前
线上线下融合驱动:开源链动2+1模式与AI智能名片赋能高价值社群生态的机制研究
人工智能·小程序·开源·零售
换日线°17 小时前
微信小程序一款不错的文字动画
微信小程序