RSA非对称加密传输-前端加密【Uncaught TypeError: Cannot set property ‘default_key_size‘ of null】

7 篇文章 0 订阅

这是我对接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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值