这是我对接jsencrypt加密模块的一些心得
安装命令
npm install jsencrypt
引入模块
// 正确引入
import { JSEncrypt } from 'jsencrypt'
// 错误引入
// 在main.js 中
import { JSEncrypt } from 'jsencrypt'
Vue.use(JSEncrypt)
// 就会报这个错误
Uncaught TypeError: Cannot set property 'default_key_size' of null
加密
let publicKey = `这里是公钥`
let encryptedPassword = this.encryptedData(publicKey, dataBase64);
console.log("加密后",encryptedPassword);
encryptedData(publicKey, data) {
// 新建JSEncrypt对象
let encryptor = new JSEncrypt();
// 设置公钥
encryptor.setPublicKey(publicKey);
// 加密数据
return encryptor.encrypt(data);
},
如果是长文本加密呢?
npm install encryptlong
import JSEncrypt from 'encryptlong'
// 调用
try {
let encryptedPassword = await this.encryptedData(dataBase64);
console.log(encryptedPassword)
} chtc(e) {
}
// 方法
async encryptedData(data) {
letstartTime = new Date();
let publicKey = `这里是公钥`;
const enc = new JSEncrypt();
enc.setPublicKey(publicKey);
return enc.encryptLong(data);
let endTime = new Date();
console.log("加密时间" + (endTime - startTime) + "ms");
}
npm传送门 https://www.npmjs.com/package/jsencrypt
长文本加密 npm传送门 https://www.npmjs.com/package/encryptlong