uniapp AES 加密解密

1. uniapp AES 加密解密

1.1. 引入crypto-js

  需要在uniapp项目根目录里,打开命令行,执行如下命令:

javascript 复制代码
npm install crypto-js

1.2. 在项目根目录,创建一个utils文件夹,并创建一个aesEndecryptHelper.js文件

javascript 复制代码
import CryptoJS from 'crypto-js';
let ivStr = 'yyuuide45678'; // 矢量
let keyStr = "kexieapp@M2JXU1N"// 加密密钥
/**
 * AES加解密工具类
 */

/**
 * 加密
 */
const aes_encrypt = (word) => {
    keyStr = keyStr ? keyStr : 'sabcderw7894';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.AES.encrypt(srcs, key,
        {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString();
};


/**
 * 解密
 */
const aes_decrypt = (word) => {
    console.log('===decryptword===',word);
    keyStr = keyStr ? keyStr : 'sabcderw7894';
    var key  = CryptoJS.enc.Utf8.parse(keyStr);//
    var decrypt = CryptoJS.AES.decrypt(word, key,
        {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return CryptoJS.enc.Utf8.stringify(decrypt).toString();
};

export default {
    aes_encrypt: aes_encrypt,
    aes_decrypt: aes_decrypt,
}

1.3. 在项目根目录,创建一个utils文件夹,并创建一个aesEndecryptHelper.js文件

javascript 复制代码
<template>
  <view>
    <view class="">加密:{{encrypt_str}}</view>
    <view class="">解密:{{decrypt_str}}</view>
  </view>
</template>

<script>
import aesEndecryptHelper from '../../../helper/aesEndecryptHelper.js';
export default {

  data() {
    return {
      str: 'Hello123',
      encrypt_str: '',
      decrypt_str: '',
    }
  },
  mounted() {

    let encrypt_str = aesEndecryptHelper.aes_encrypt("123456");
    let decrypt_str = aesEndecryptHelper.aes_decrypt(encrypt_str);
    this.encrypt_str=encrypt_str;
    this.decrypt_str=decrypt_str;
  },
  methods: {

  }
}
</script>
相关推荐
dialect_5 小时前
KMP算法
开发语言·c++·算法
总要学点什么6 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
开开心心_Every7 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c8 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌8 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
超级架构师9 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮9 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔10 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真10 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放11 小时前
Python基础语法练习题(75)
开发语言·python·学习