vue实现登录使用rsa加密

1.安装JSEncrypt

npm install jsencrypt

2.在登陆页面引用

import { JSEncrypt } from "jsencrypt";

3.点击登录对表单验证

//   点击登录按钮
     async loginClick(){
          this.$refs.loginFormRef.validate(async valid=>{
                 if(!valid){
                     return
                 }
                // 深拷贝表单对象
                const form=JSON.parse(JSON.stringify(this.loginForm))
                //  获取公钥
                const res=await getPublicKey()
                //  创建加密对象实例
                let jsencrypt=new JSEncrypt()
                //  设置公钥
                jsencrypt.setPublicKey(res.data)
                form.publicKey=res.data
                // 对密码加密
                form.password = jsencrypt.encrypt(form.password)
                try {
                    const res=await login(qs.stringify(form))
                    if(res.status !==100010200 ){
                       this.getCodeData()
                       return this.$message.error(res.message)

                    }
                    console.log(res.message);
                    const { token}=res.data
                    this.$store.dispatch('router/setisLogin')
                    // 存储用户信息
                    this.$store.dispatch('router/SetUserInfo',res.data)
                    this.$message.success('登陆成功')
                    // 存储token
                    setToken(token)
                    // 跳转到首页
                    this.$router.push('/')
                } catch (error) {
                    this.getCodeData()
                }
          })
      }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中安装RSA加密可以按照以下步骤进行操作: 1. 首先,使用npm安装jsencrypt库,可以在终端中运行以下命令进行安装: ``` npm install jsencrypt ``` 2. 在Vue项目的main.js文件中引入jsencrypt库,可以在文件的顶部添加以下代码: ```javascript import JSEncrypt from "jsencrypt"; ``` 3. 将JSEncrypt对象配置为Vue的全局变量,可以在main.js文件中添加以下代码: ```javascript Vue.prototype.$jsEncrypt = JSEncrypt; ``` 4. 在需要使用RSA加密的地方,可以通过调用后台接口获取公钥,并使用JSEncrypt对象对密码进行加密。以下是一个示例代码: ```javascript // 获取公钥的方法 export function getPubKey() { // 调用后台接口获取公钥的逻辑 } // 在需要加密的地方调用getPubKey方法获取公钥,并使用JSEncrypt对象对密码进行加密 getPubKey().then(publicKey => { let encryptor = new JSEncrypt(); encryptor.setPublicKey(publicKey); let rsaPassWord = encryptor.encrypt(password); // 对加密后的密码进行后续操作 }); ``` 请注意,以上代码仅为示例,具体的实现方式可能会根据你的项目需求而有所不同。你需要根据实际情况修改代码中的接口地址和逻辑。 #### 引用[.reference_title] - *1* *3* [Vue项目中rsa加密](https://blog.csdn.net/weixin_62946736/article/details/122886177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vuersa加密](https://blog.csdn.net/weixin_44271874/article/details/123586752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值