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 相关文章推荐
Jquery异步请求数据实例代码
Dec 28 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
javascript获取网页宽高方法汇总
Jul 19 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
Nov 26 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
Jul 22 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
vue.js 子组件无法获取父组件store值的解决方式
Nov 08 Javascript
vue在图片上传的时候压缩图片
Nov 18 Vue.js
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模板引擎SMARTY
2006/10/09 PHP
谈谈PHP语法(4)
2006/10/09 PHP
用于table内容排序
2006/07/21 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
2014/07/06 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
Mac下安装vue
2018/04/11 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
利用python获得时间的实例说明
2013/03/25 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
英语自荐信常用语句
2013/12/13 职场文书
收费员岗位职责
2015/02/14 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
《雷雨》教学反思
2016/02/20 职场文书
python中对列表的删除和添加方法详解
2022/02/24 Python