美文网首页
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