微信小程序crypto-js AES 加解密数据 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

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

发表时间:2020-10-10

发布人:葵宇科技

浏览次数:159

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

相关案例查看更多