Vue 项目中实现 RSA 加密

Vue 项目中实现 RSA 加密主要是使用第三方插件,这里推荐使用 jsencryptencryptlong

一、jsencrypt

  jsencrypt在处理一些较短文本的加密时比较好使,如 get 请求参数的加密。

1
npm i jsencrypt -S
1
2
3
4
5
6
7
8
9
10
11
import { JSEncrypt } from 'jsencrypt'

export default {
rsaData (data) {
const PUBLIC_KEY = 'your rsa public key'
let jsencrypt = new JSEncrypt()
jsencrypt.setPublicKey(PUBLIC_KEY)
let result = jsencrypt.encrypt(data)
return result
}
}

  如果遇到 post 且参数较多时,就会报错jsencrypt.js Message too long for RSA,这个时候就需要encryptlong登场了。

二、encryptlong

encryptlong是基于jsencrypt扩展的长文本分段加解密功能。

1
npm i encryptlong -S

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { JSEncrypt } from 'encryptlong'

export default {
encrypt (data) {
const PUBLIC_KEY = 'your rsa public key'
let encryptor = new JSEncrypt()
encryptor.setPublicKey(PUBLIC_KEY)
const rsaData = encryptor.encryptLong(data)
this.decrypt(rsaData)
return rsaData
},
// 解密 - PRIVATE_KEY - 验证
// @param rsaData String
decrypt(rsaData) {
const PRIVATE_KEY = 'your rsa private key'
let decryptor = new JSEncrypt()
decryptor.setPrivateKey(PRIVATE_KEY)
}
}
以上

随笔标题:Vue 项目中实现 RSA 加密

随笔作者:刘先玉

发布时间:2019年11月07日 - 10:53:08

最后更新:2019年11月07日 - 10:53:08

原文链接:https://liuxianyu.cn/article/vue-rsa.html