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

微信小程序在与后台交互数据过程中,敏感数据需要加解密,本篇博客介绍在微信小程序中如何使用 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!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值