一.使用jsencrypt进行RSA加密-非全局
1.安装依赖
npm install jsencrypt
2.@/libs/encrypt.js
//引入
import { JSEncrypt } from 'jsencrypt'
/**
* 加密
* @param {String} 需要加密的参数
*/
export function passwordEncryption (param) {
// 后台给的公钥
let publicKey = 'MIIBIjANBgkqhkiGB......'
let encryptor = new JSEncrypt() // 新建JSEncrypt对象
encryptor.setPublicKey(publicKey) // 设置公钥
let passwordEncryp = encryptor.encrypt(param) // 对密码进行加密
return passwordEncryp
}
// 解密
export function decrypt (msg) {
const privateKey = ''
let decrypt = new JSEncrypt()
decrypt.setPrivateKey(privateKey)
var decryptMsg = decrypt.decrypt(msg)
return decryptMsg
}
3.在忘记密码页面使用,给接口传的参数加密后传给后端
<script>
//引入加密文件
import { passwordEncryption } from '@/libs/encrypt'
resetPass () {
let obj = {
checkCode: this.form.checkCode,//验证码
password: passwordEncryption(this.form.password),//加密后的密码
phone: this.form.phone,//手机号
}
resetPassword(obj).then(res => {
if (res.status === 200) {
this.$Message.success('密码修改成功')
} else {
this.$Message.warning(res.msg)
}
})
},
</script>
二.使用jsencrypt进行RSA加密-全局
1.安装,
npm install jsencrypt
2.在main.js引入
import { JSEncrypt } from 'jsencrypt'
3.挂载全局方法
Vue.prototype.$encryption = function(password){
//password是要加密的对象
let encryptor = new JSEncrypt() // 新建JSEncrypt对象
encryptor.setPublicKey('此处填写后端给的公钥') // 设置公钥
let passwordEncryp = encryptor.encrypt(password) // 对密码进行加密
return passwordEncryp
}
4.使用方法
let passwordEncryp = this.$encryption(this.password)
三.使用md5加密
1.安装依赖 npm install md5
2.main.js引入 import md5 from 'js-md5'
3.Vue.prototype.$md5 = md5;
4.使用方法
let password = this.$md5(this.password)
网友评论