满满干货之前端RSA长文本加密(vue项目)

最近做的项目中,涉及到了密码加密传输,可是刚好不凑巧的是密码没有长度限制,烦skr人了。关于50位以下的rsa加密可以直接使用jsencrypt实现。还是先记录下jsencrypt的使用吧。

第一步当然是安装了

npm install jsencrypt

 如何使用?

随意一个.vue文件
// 首先引入​jsencrypt
import JSEncrypt from 'jsencrypt';

// 1.初始化
const encrypt = new JSEncrypt({});
const password = 'ysj';
// 2.设置密钥
const rsaPublicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCWOxBMX1zS2Ds794/brkHRKpZ0
AiGY1IoHwOuru4Lng4fy89Ox/VCf/CWIfndxepidbvjyQGj8PGL0lU76Q+w8PH0y
YAsWQsF6u7s8KBHJC/eH8b/kdSH2LtB5FO4Qz0MET4IHQUSAKJkXdMbZzUP+bBa/
sWH9q0qDdjiBw2uBRwIDAQAB'; // 这里是我随机生成的,项目中找后端要哈哈
// 在线生成密钥地址 http://www.metools.info/code/c80.html
encrypt.setPublicKey(rsaPublicKey);
// 根据要求进行加密,我的加密规则是时间戳,密码
const timestamp = (new Date()).valueOf();
const res = encrypt.encrypt(timestamp + ',' + password);
console.log(res);

是不是超简单!经过QA同学一顿乱测,发现超长了(如下图),第一反应是什么鬼东西,baidu一下原来是超长了,随后万能的网友给出方案,「分段加密」

lang lang time的研究发现,引入encryptLong就可以搞定,大神的话建议自己写咯。题外话:不知道大家有没有发现,网上的帖子copy过去根本就运行不起来,反复试了好几次之后,下面这个方法可以正常跑起来,仅供参考~

1.在assets下面新建一个baseJS存放 encryptLong的js文件,https://www.npmjs.com/package/encryptlong 这个链接是下载网址

2.更改JSEncrypt的引入路径

至此,已经可以对长文本进行rsa加密了,这是我目前感觉最简单的方法,试试copy下代码99%可以跑起来,运行不了的话可以留言给我哈 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值