1.安装:
npm install --save jsencrypt
2.封装方法
安装完成后封装成方法(你得有一对公钥和私钥,有在线生成器,我们先来一对 http://web.chacuo.net/netrsakeypair)
import JsEncrypt from 'jsencrypt'
let publicKey = '' //公钥
let privateKey = '' //私钥
// 加密方法
let RSAencrypt = (pas) => {
// 实例化jsEncrypt对象
let jse = new JSEncrypt()
// 设置公钥
jse.setPublicKey(publicKey)
// console.log('加密:'+jse.encrypt(pas))
return jse.encrypt(pas)
}
//解密方法
let RSAdencrypt = (pas) => {
//实例化jsEncrypt对象
let jse = new JSEncrypt();
//设置私钥
jse.setPrivateKey(privateKey);
// console.log('解密:'+jse.decrypt(pas))
return jse.decrypt(pas);
}
export default {RSAencrypt ,RSAdencrypt };
在main.js中引入
import {RSAencrypt ,RSAdencrypt }from '@/components/utils/jsencrypt'
Vue.prototype.jsEncrypt = RSAencrypt
Vue.prototype.jsDencrypt = RSAdencrypt
3.使用
//加密
let str = '123|123'
let enc = this.jsEncrypt(str)
console.log(enc)
//解密
let denc = this.jsDencrypt(enc)
console.log(denc);
4.额外使用
如果加密之后要通过地址栏传递参数
的话还需要进一步处理,因为加密之后会出现‘/’ 和 ‘+’,想要对这些字符进行转义的话,使用encodeURIComponent('加密后的内容')
就可以了。