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 相关文章推荐
JavaScript中Object和Function的关系小结
Sep 26 Javascript
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
用js判断页面是否加载完成实现代码
Dec 11 Javascript
JavaScript截取字符串的2个函数介绍
Aug 27 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 18 Javascript
Angular Module声明和获取重载实例代码
Sep 14 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
Mar 07 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 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
PHP 八种基本的数据类型小结
2011/06/01 PHP
PHP异步调用socket实现代码
2012/01/12 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
PHP制作用户注册系统
2015/10/23 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
JavaScript中关联原型链属性特性
2016/02/13 Javascript
Javascript前端经典的面试题及答案
2017/03/14 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
python各层级目录下import方法代码实例
2020/01/20 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
Otel.com:折扣酒店预订
2017/08/24 全球购物
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
巧克力蛋糕店创业计划书
2014/01/14 职场文书
新生开学寄语大全
2015/05/28 职场文书
投诉书范文
2015/07/02 职场文书
投诉信格式范文
2015/07/02 职场文书
我的生日感言
2015/08/03 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
浅析Python中的套接字编程
2021/06/22 Python