微信小程序使用crypto.js加密解密

2023-10-27

微信小程序中使用crypto.js

crypto.js是用来进行AES加密的
注意AES在使用时有7个配置项,前后端加解密记着统一参数,测试时注意配置项的选择是否一致。

测试工具:

AES加密测试工具

下载crypto.js

npm i crypto-js --save

在这里插入图片描述

引入小程序中封装使用方法:

文件存放路径:
在这里插入图片描述
cryptoPro.js代码:

/**
 *  cryptoPro.js封装的参数
    AES加密模式:CBC
    填充:ZeroPadding
    数据块:128位
    密钥:'QWERDF0123456789'
    偏移量:'QWERDF0123456789'
    输出:hex
    字符集:utf-8
 */
const CryptoJS = require('./crypto');//引入crypto
const aecConfig = {
    mode: CryptoJS.mode.CBC,//AES加密模式
    padding: CryptoJS.pad.ZeroPadding//填充
}
const ckey='QWERDF0123456789';//密钥
const civ='QWERDF0123456789';//偏移量
//加密方法
function AES_EN(text) {
    let key = CryptoJS.enc.Utf8.parse(ckey);
    let iv = CryptoJS.enc.Utf8.parse(civ);
    const encrypted = CryptoJS.AES.encrypt(text, key, { iv, ...aecConfig })
    return encrypted.ciphertext.toString()
}

//解密方法
function AES_DE(text) {
   let  key = CryptoJS.enc.Utf8.parse(ckey)
   let  iv = CryptoJS.enc.Utf8.parse(civ)
    text = CryptoJS.enc.Hex.parse(text)
    const decrypt = CryptoJS.AES.decrypt({ ciphertext: text }, key, { iv, ...aecConfig })
    const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
    return decryptedStr.toString()
}
export {
    AES_EN, AES_DE
}

代码中使用

const crypto = require('../../utils/cryptoPro');//引入封装好的方法
//写在代码里:
let value=crypto.AES_EN("123456");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序使用crypto.js加密解密 的相关文章

随机推荐

  • uniapp项目,HBuilderX真机调试之夜神模拟器

    第一步 夜神模拟器相关配置 1 去官网下载并安装夜神模拟器 2 安装完后 打开模拟器 然后依次找到 设置 gt 关于平板电脑 gt 版本号 连续点击3次 版本号选项 具体根据系统提示操作 然后返回上一页就可以看到开发者选项 开启了开发者模式
  • CentOS禁止Ping方法

    有时候根据需要 如防止攻击 Linux服务器管理员可限制服务器禁止其它用户Ping 同时又保证Linux服务器又可以Ping其它服务器 本文提供两种禁Ping方法 1 通过修改配置文件 这个方法需要ROOT权限 且设置成功后别人无法Ping
  • 密码学之欧拉函数

    最近在学习网易公开课上可汗学院现代密码学的课程 整理了一下自己的笔记 名词 概念 算术基本定理 任何一个数字有且只有一种质因数分解 例如 30 2 3 5 单向函数 正向结合很简单 反向分解很复杂 例如 两个质数相乘容易 将其合数分解很难
  • 块坐标下降法(Block Coodinate Descent)

    问题的描述 给定一个可微的凸函数 如果在某一点x 使得f x 在每一个坐标轴上都是最小值 那么f x 是不是一个全局的最小值 形式化的描述为 是不是对于所有的d i都有 这里的代表第i个标准基向量 答案为成立 这是因为 但是问题来了 如果对
  • mysql备份表的两种方法(数据迁移)

    mysql备份的两种方法 传输方式 单表传输 在数据量小的情况下一般采用insert的方法向备份表中插入数据 当源表的数据量过大时使用表空间的方式进行数据的迁移 第一种方法 针对表中数据量小的情况 1 使用源表的表结构建新的备份表 源表为t
  • 从Eclipse官网查找自己要的插件地址 来安装

    有时候 eclipse自带的应用市场 安装插件老是失败 此时可以试试官网的插件地址 进入eclipse官网 https www eclipse org 选择如图 Marketplace 输入你要查询的插件 点击下载图标 选择你对应的ecli
  • 用户扫描普通二维码进入小程序指定页面详细步骤

    用户扫描普通二维码进入小程序指定页面详细步骤 一 进入微信公众平台小程序开发管理 开发设置 扫普通链接二维码打开小程序 启用 二 添加规则 我这里二维码规则为前台项目地址 可自行修改 下载的校验文件放在了项目里面 根据要求需要放在该服务器域
  • CCleaner如何阻止Internet服务提供商获取您的数据

    要阻止ISP获取您的数据 您需要使用VPN服务 或虚拟隧道提供程序Tor来屏蔽所有浏览行为 要阻止广告客户跟踪广告 您需要在每次浏览完成后清理Cookie CCleaner http www ccleaner cc 会自动执行此操作 CCl
  • c++ primer plus第六版复习题及答案

    第九章 1 对于下面的情况 应该使用哪种存储方案 a homer 是函数的形参 答 homer将自动成为自动变量 b secret 变量由两个文件共享 答 应该在一个文件中将secret变量定义为外部变量 并在第二个文件中使用extern声
  • 如何用python编辑 题目: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

    如何用python编辑 题目 有1 2 3 4个数字 能组成多少个互不相同且无重复数字的三位数 都是多少 如何用python编辑 题目 有1 2 3 4个数字 能组成多少个互不相同且无重复数字的三位数 都是多少 题目分析 四个数字组成三位数
  • python模拟报数游戏

    题目 编写程序 模拟报数游戏 有n个人围成一圈 顺序编号 从第一个人开始从1到k 假设k 3 报数 报到k的人退出圈子 然后圈子缩小 从下一个人继续游戏 问最后留下的是原来的第几号 思路 初步实现功能 使用集合输出剩下的数字 而未考虑是第几
  • 性能测试、负载测试、压力测试-之间的差异

    性能测试 负载测试 压力测试 之间的差异 目录 1 什么是性能测试 2 什么是负载测试 3 什么是压力测试 4 性能测试 vs 负载测试 vs 压力测试 5 为什么要进行性能测试 6 为什么要进行负载测试 7 为什么要进行压力测试 8 什么
  • Streamlit 讲解专栏(六):展示文本魔力

    文章目录 1 前言 2 st markdown 引入丰富的Markdown文本 3 st title 引入引人注目的大标题 4 st header 引入简洁的小标题 5 st subheader 添加次级标题 6 st caption 添加
  • zookeeper的安装配置(详细步骤)

    配置前准备 将apache zookeeper 3 7 0 bin tar gz安装包上传到xshell 在xshell上解压缩包 输入解压命令 cd zookeeper tar zxvf apache zookeeper 3 7 0 bi
  • 【大前端】NestedScrollView/ScrollView 加载完自动滑动至底部导致内容上滑问题解决

    正常情况下 由于NestedScrollView ScrollView 嵌套RecyclerView 可能会导致Recyclerview占据焦点导致整个NestedScrollView ScrollView内容上滑 此问题的解决方案如下 1
  • 在MFC中使用OpenCV2.3.1

    最近要做数字图像处理的项目 大家都说VS MFC OpenCV很好用 于是我就试着弄了下 首先我到OpenCV ChinaOpenCV中文版主页找了一些很不错的教程开始做了 我用的是Visual Studio 2005 OpenCV的版本是
  • 憨批的语义分割重制版11——Keras 搭建自己的HRNetV2语义分割平台

    憨批的语义分割重制版11 Keras 搭建自己的HRNetV2语义分割平台 学习前言 什么是HRNetV2模型 代码下载 HRNetV2实现思路 一 预测部分 1 主干网络介绍 a Section 1 b Section 2 c Secti
  • SpringBoot返回Json数据

    Spring Boot 返回 Json 数据 XML 文件的解析常见的解析工具有 DOM4j JDOM 等 为了标准化 XML 文件解析 Java 中提出了 JAXP 规范 使用的解析模型有 DOM 将标记语言文档一次性加载进入内存中 在内
  • 第九课: 工作空间-Work Space介绍

    2 7 工作空间 Work Space介绍 工作空间是WorkBench3 3集成开发环境对项目工程进行集中管理的空间 用户创建的BootRom工程 VxWorks工程 Downloadable工程和静态库工程等都存在于Work Space
  • 微信小程序使用crypto.js加密解密

    微信小程序中使用crypto js crypto js是用来进行AES加密的 注意AES在使用时有7个配置项 前后端加解密记着统一参数 测试时注意配置项的选择是否一致 测试工具 AES加密测试工具 下载crypto js npm i cry