最近工作中需要涉及到小程序的加密需求,就去网上查了一下,发现CryptoJs很好用就选用了它,下面来讲一下如何实现吧。
首先到JavaScript加密库下载 Git地址,然后得到下面的文件
其中component是源码文件,rollups是完整包文件,其中的任何一个文件都是可以直接引用的(根据自己的需求引就可以)
因为我需要DES加密,所以选用了tripledes.js
小程序直接将tripledes.js拷贝到工程里,然后在最后加上
module.exports = CryptoJS;
调用的时候直接
var CryptoJS = require('../../utils/tripledes.js')
var keyHex = CryptoJS.enc.Utf8.parse("12345678");
console.log(CryptoJS);
var encrypted = CryptoJS.DES.encrypt("12345678", keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
console.log(encrypted.toString());
但是很不幸你会发现报错,
看打印CryptoJs对象发现原来是mode中没有ECB模式
这个时候就需要使用到component文件夹下的mode-ecb.js了
通过引入或者直接将源码拷贝到tripledes.js中都是可以的。
然后再执行就没有问题了,其他模式的加密方式是一样的。请批评指正!
msg:12345678 key:12345678 DES_ECB加密后:ltACiHjVjIn+uVm31GQvyw==