什么是RSA加密?
RSA加密是一种非对称数据加密算法,即加密用的钥匙和解密所用的钥匙,并不是同一把钥匙
前端RSA加密实现
import JsEncrypt from 'jsencrypt'
const RSA_KEY = `Rsa公钥`
function encrypt(str) {
// 加密
const encryptor = new JsEncrypt({ default_key_size: 2048 })
encryptor.setPublicKey(RSA_KEY)
return encryptor.encrypt(str)
}
前端RSA解密实现
import JsEncrypt from 'jsencrypt'
const RSA_KEY = `Rsa私钥`
function decrypt(str){
// 解密
const encryptor = new JsEncrypt({ default_key_size: 2048 })
encryptor.setPrivateKey(RSA_KEY)
return encryptor.decrypt(str)
}
注意
一般来说,前端只会得到后端给的公钥,而rsa加密,可以用公钥加密,也可以用私钥加密,即可以用一个公钥进行加密,也可以去解密后端经过私钥加密的数据