在 Vue 中 如何使用 jsencrypt 实现 Rsa 进行加密
RSA加密算法是一种非对称加密算法。对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就肯定会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式解破。到2016年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被解破的。
# 安装 jsencrypt 包
npm i jsencrypt --save
1
# 在 main.js 中引入
import JsEncrypt from 'jsencrypt'
Vue.prototype.$jsEncrypt = JsEncrypt
1
2
2
# 加密方法
<script>
export default {
name: "app",
methods: {
getRSApass (mag) {
let jse = new this.$jsEncrypt()
//公钥
var publicString = '-----BEGIN PUBLIC KEY-----\n' +
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcRie+DklCiZyRTCniB/o6kPRk\n' +
'rRO57+cejRRrOOmoPDOrbQlOumGsNsThsShor3sgareTUiLLIdNeoV0hrTHqsFy7\n' +
'zBFL7QDnvEaI5eYwttesOp4D7y5EM0BU2lKg7L+9FbrNgILGs6PwR97quLozmvoP\n' +
'RSbr/J/E/+PNki5HMwIDAQAB\n' +
'-----END PUBLIC KEY-----'
jse.setPublicKey(publicString)
// 加密内容
return jse.encrypt(mag)
};
handleSave(){
let pass = this.getRSApass(this.pass)
let password = this.getRSApass(this.password)
}
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 解密方法
<script>
export default {
name: "app",
methods: {
getRSApass (mag) {
let jse = new this.$jsEncrypt()
//公钥
var publicString = '-----BEGIN PUBLIC KEY-----\n' +
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcRie+DklCiZyRTCniB/o6kPRk\n' +
'rRO57+cejRRrOOmoPDOrbQlOumGsNsThsShor3sgareTUiLLIdNeoV0hrTHqsFy7\n' +
'zBFL7QDnvEaI5eYwttesOp4D7y5EM0BU2lKg7L+9FbrNgILGs6PwR97quLozmvoP\n' +
'RSbr/J/E/+PNki5HMwIDAQAB\n' +
'-----END PUBLIC KEY-----'
jse.setPublicKey(publicString)
// 解密内容
return jse.decrypt(mag)
};
handleSave(){
let pass = this.getRSApass(this.pass)
let password = this.getRSApass(this.password)
}
}
};
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 相关资料
JSEncrypt官方文档:http://travistidwell.com/jsencrypt/index.html (opens new window)
上次更新: 2024/01/30, 00:35:17
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13