新项目第一次用前端RSA加密,记录一下。
RSA是一种非对称加密算法,是由一对密钥来进行加解密的过程,分别称为公钥和私钥。我项目里采用公钥加密,使用私钥解密。
RSA的加密过程如下:
(1)后端JAVA生成一对密钥(公钥和私钥),私钥不公开,后端保留。
(2)后端把公钥传给前端,前端拿到公钥对消息进行加密后传给后端。
(3)后端接收到前端加密的消息,利用他自己的私钥对消息进行解密。
在这个过程中,只有2次传递过程,第一次是后端传递公钥给前端,第二次是前端传递加密消息给后端,即使都被截获,也没有危险性,因为只有后端的私钥才能对消息进行解密,防止了消息内容的泄露。
那么前端的加密步骤如下:
1.首先安装依赖
npm install jsencrypt
2.引入(全局main.js引入或者在需要的单页文件引入)
import {
JSEncrypt } from 'jsencrypt';
3.方法
methods: {
// 加密
encryptedData(publicKey, data) {
// 新建JSEncrypt对象
let encryptor = new JSEncrypt();
// 设置公钥
encryptor.setPublicKey(publicKey);// publicKey为公钥
// 加密数据
return