微信小程序crypto-js AES 加解密数据

2023-11-06

微信小程序在与后台交互数据过程中,敏感数据需要加解密,本篇博客介绍在微信小程序中如何使用 crypto.js 中的 AES 算法加解密数据

使用crypto.js加解密详解:https://blog.csdn.net/Umbrella_Um/article/details/99686988

AES加密算法的详细介绍与实现:https://blog.csdn.net/qq_28205153/article/details/55798628

1、引入crypto-js.js

crypto.js地址:https://blog-static.cnblogs.com/files/gygg/crypto-js.js

utils文件夹下新建crypto-js.js文件

2、封装crypto.js加解密

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

var CryptoJS = require('/crypto-js.js');

// 密钥 16 位

var key = 'skdidhjdksle2345';

// 初始向量 initial vector 16 位

var iv = 'skdidhjdksle2345';

// key 和 iv 可以一致

key = CryptoJS.enc.Utf8.parse(key);

iv = CryptoJS.enc.Utf8.parse(iv);

//加密

function encrypted(param) {

  var encrypted = CryptoJS.AES.encrypt(param, key, {

    iv: iv,

    mode: CryptoJS.mode.CBC,

    padding: CryptoJS.pad.Pkcs7

  });

  encrypted = encrypted.toString();

  return encrypted;

}

//解密

function decrypted(param) {

  var decrypted = CryptoJS.AES.decrypt(param, key, {

    iv: iv,

    mode: CryptoJS.mode.CBC,

    padding: CryptoJS.pad.Pkcs7

  });

  decrypted = CryptoJS.enc.Utf8.stringify(decrypted);

  return decrypted;

}

module.exports = {

  encrypted: encrypted,

  decrypted: decrypted,

}

tips:key和iv和后端开发人员沟通后保持一致

3、使用crypto.js

js中引入crypto

01

var crypto = require('../../utils/crypto.js');//注意路径是否正确

调用加解密方法

01

02

console.log(crypto.encrypted("福田区"))//加密

console.log(crypto.decrypted("ZOrm989bMUvrC4E2YHrCYQ=="))//解密

控制台输出

End!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序crypto-js AES 加解密数据 的相关文章

  • MySQL学习笔记(基础)

    安装 不多介绍 随便百度一下有很多Mysql安装教程 全程选择默认选项点下去就行 需要注意的是要自己设置管理员超级账号密码 这个可不能忘了 MySQL Workbench 数据库UI管理界面 可以通过这个简易的创建表或者创建新的连接 点击加
  • windows 子系统 linux (WLS):启用Win10的Linux子系统

    windows 子系统 linux WLS 系列文章目录 windows 子系统 linux WLS 启用Win10的Linux子系统 windows 子系统 linux WLS ifconfig ping等无法使用解决办法 windows
  • 如何有效述职

    总结 回看过去 梳理工作规划 遥望未来 展示自我反思 审视当下 学习他人 把工作在有限的时间内说明白 视与听的呈现 1 在视觉层面 内容是锦 形式是花 内容层面 述职中经常出现的问题 事情琐碎 重点事项不突出 原因 不清楚工作重点说了很多

随机推荐