打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
vue使用JSEncrypt实现rsa加密及挂载方法

挂载全局方法

使用jsencrypt进行rsa加密

原文链接:Js参数RSA加密传输,jsencrypt.js的使用 - CSDN博客*
https://blog.csdn.net/p312011150/article/details/80264144
(原文处有一个地方不对,不需要转换+,rsa已经做过base64转码了)

1.安装依赖   npm install jsencrypt  2.在main.js引入   import { JSEncrypt } from 'jsencrypt'  3.挂载全局方法//JSEncrypt加密方法Vue.prototype.$encryptedData = function(publicKey, data) {  //new一个对象  let encrypt = new JSEncrypt()  //设置公钥  encrypt.setPublicKey(publicKey)  //password是要加密的数据,此处不用注意+号,因为rsa自己本身已经base64转码了,不存在+,全部是二进制数据  let result = encrypt.encrypt(password)  return result}//JSEncrypt解密方法Vue.prototype.$decryptData = function(privateKey, data) {  // 新建JSEncrypt对象  let decrypt = new JSEncrypt()  // 设置私钥  decrypt.setPrivateKey(privateKey)  // 解密数据  let result = decrypt.decrypt(secretWord)  return result}

全局混合

使用yarn安装至Vue项目

yarn add jsencrypt --dep

或者使用npm

npm install jsencrypt --dep

混入

import { JSEncrypt } from 'jsencrypt'export const RsaMixin = {    methods: {        //  加密        encryptedData(publicKey, data) {          // 新建JSEncrypt对象          let encryptor = new JSEncrypt();          // 设置公钥          encryptor.setPublicKey(publicKey);          // 加密数据          return encryptor.encrypt(data);        },        // 解密        decryptData(privateKey,data){          // 新建JSEncrypt对象          let decrypt= new JSEncrypt();          // 设置私钥          decrypt.setPrivateKey(privateKey);          // 解密数据          decrypt.decrypt(secretWord);        }  }}

引入

<script>  import InvoiceRecordModal from './modules/InvoiceRecordModal'  import { RsaMixin } from '@/mixins/RsaMixin'  export default {    name: "InvoiceRecordList",    //此时可以直接调用混入的方法    mixins:[RsaMixin],    data(){},    computed:{}  }</script>

封装为单VUE文件中的方法

使用yarn安装至Vue项目

yarn add jsencrypt --dep

或者使用npm

npm install jsencrypt --dep

引入jsencrypt

import { JSEncrypt } from 'jsencrypt'

方法

methods: {    //  加密    encryptedData(publicKey, data) {      // 新建JSEncrypt对象      let encryptor = new JSEncrypt();      // 设置公钥      encryptor.setPublicKey(publicKey);      // 加密数据      return encryptor.encrypt(data);    },    // 解密    decryptData(privateKey,data){      // 新建JSEncrypt对象      let decrypt= new JSEncrypt();      // 设置私钥      decrypt.setPrivateKey(privateKey);      // 解密数据      decrypt.decrypt(secretWord);    }  }

站在巨人的肩膀上摘苹果:

链接:https://www.jianshu.com/p/084548516410 ()
https://segmentfault.com/a/1190000018896698 (全局混入以及单文件方法)
https://www.jianshu.com/p/084548516410 (全局注册)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
uniapp前端登录加密(rsa-jsencrypt)
前端使用jsencrypt.js进行RSA加密,主要用于登录界面
前后端分离架构中的接口安全(上篇)
使用Java实现RSA加密解密
vue3 开发
聊聊 Sharding-JDBC 数据脱敏
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服