Vue使用JSEncrypt实现rsa加密及挂载方法


Posted in Javascript onFebruary 07, 2020

挂载全局方法

使用jsencrypt进行rsa加密

原文链接:Js参数RSA加密传输,jsencrypt.js的使用 *
https://3water.com/article/179813.htm
(原文处有一个地方不对,不需要转换+,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);
 }
 }

总结

以上所述是小编给大家介绍的Vue使用JSEncrypt实现rsa加密及挂载方法,希望对大家有所帮助!

Javascript 相关文章推荐
js实现遮罩层划出效果是生成div而不是显示
Jul 29 Javascript
javascript中eval和with用法实例总结
Nov 30 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
详解springmvc 接收json对象的两种方式
Dec 06 Javascript
jQuery实现链接的title快速出现的方法
Feb 20 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
Angular.js中处理页面闪烁的方法详解
Mar 09 Javascript
详解webpack进阶之插件篇
Jul 06 Javascript
使用D3.js创建物流地图的示例代码
Jan 27 Javascript
JavaScript设计模式之命令模式实例分析
Jan 16 Javascript
vue项目首屏打开速度慢的解决方法
Mar 31 Javascript
react-native滑动吸顶效果的实现过程
Jun 03 Javascript
jQuery实现获取多选框的值示例
Feb 07 #jQuery
微信小程序canvas开发水果老虎机的思路详解
Feb 07 #Javascript
Node.js 在本地生成日志文件的方法
Feb 07 #Javascript
node.js 微信开发之定时获取access_token
Feb 07 #Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 #jQuery
webpack的 rquire.context用法实现工程自动化的方法
Feb 07 #Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 #Javascript
You might like
B2K与车机的中波PK
2021/03/02 无线电
php中的动态调用实例分析
2015/01/07 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
jQuery实现滚动切换的tab选项卡效果代码
2015/08/26 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
微信小程序实现动态列表项的顺序加载动画
2019/07/25 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
react基本安装与测试示例
2020/04/27 Javascript
Python备份Mysql脚本
2008/08/11 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
numpy数组广播的机制
2019/07/12 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
法律专业自我鉴定
2013/10/03 职场文书
群教个人对照检查材料
2014/08/20 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python