vue RSA加解密

#重点在结尾

<template>

  <div>

    <input type="text" v-model="dataForm.username" placeholder="请输入用户名" />

    <input

      type="password"

      v-model="dataForm.password"

      placeholder="请输入密码"

    />

    <button type="submit" @click="submit()">登录</button>

  </div>

</template>

<script>

import JSEncrypt from "jsencrypt"; // 引入jsencrypt库

export default {

  data() {

    return {

      dataForm: {

        username: "312",

        password: "puuu",

        siyao: "",

      },

    };

  },

  created() {

    this.goEncrypt("user:hhahah");

  },

  methods: {

    // 用户登录方法

    submit() {

      this.dataForm.password = this.goEncrypt(this.dataForm.password); // 调用RSA加密方法来加密

      this.$http.post("/url", this.dataForm).then(); // 将加密的内容传给后端

    },

    // RSA加密方法

    goEncrypt(data) {

      const encryptor = new JSEncrypt();

      // 之前生成的公钥↓

      const publicKey =“”

       

      encryptor.setPublicKey(data);

      console.log("加密:" + encryptor.encrypt(publicKey));

      console.log(

        " encryptor.setPublicKey(publicKey);",

        encryptor.setPublicKey(publicKey)

      );

      console.log("ncryptor.encrypt(data)加密", encryptor.encrypt(data));

      this.RSAdecrypt(encryptor.encrypt(data));

      return encryptor.encrypt(data);

    },

    RSAdecrypt(pas) {

      let privateKey =

        "";

      let jse = new JSEncrypt();

      // 私钥

      jse.setPrivateKey(privateKey);

      console.log("解密:" + jse.decrypt(pas));

      return jse.decrypt(pas);

    },

  },

};

</script>

<style scoped></style>

#

1.
openssl genrsa -out rsa_1024_priv.pem 1024 // mac电脑可直接使用终端来输入 windows系统可使用git来输入
2.
cat rsa_1024_priv.pem
3.openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem
4.
cat rsa_1024_pub.pem


main.js
import JsEncrypt from 'jsencrypt'
Vue.prototype.$jsEncrypt = JsEncrypt

#

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值