美文网首页
vue项目使用jsencrypt加密

vue项目使用jsencrypt加密

作者: 小呆糊总 | 来源:发表于2021-09-24 15:24 被阅读0次
一.使用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) 

相关文章

网友评论

      本文标题:vue项目使用jsencrypt加密

      本文链接:https://www.haomeiwen.com/subject/jcdzgltx.html