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 (全局注册)
vue使用JSEncrypt实现rsa加密及挂载方法的更多相关文章
- 【密码学】RSA加密 kotlin实现方法(支持任意字节长度)
这个编辑器不支持kotlin,尴尬了···· 算了,就用Java来弄吧 val 定义常量 var 定义变量 具体kotlin的开发手册详见:http://www.runoob.com/kotlin/k ...
- vue实现rsa加密,数字签名,md5加密等
一.使用jsencrypt进行rsa加密 原文链接:Js参数RSA加密传输,jsencrypt.js的使用 - CSDN博客 *(原文处有一个地方不对,不需要转换+,rsa已经做过base64转码了) ...
- 如何在ASP.Net中实现RSA加密
在我们实际运用中,加密是保证数据安全的重要手段.以前使用ASP时,对数据加密可以使用MD5和SHA1算法,这两种算法虽然快捷有效,但是无法对通过它们加密的密文进行反运算,即是解密.因此需要解密数据的场 ...
- jsencrypt代码分析——openssl的rsa加密解密在js的实现
在js上做rsa,感觉jsencrypt这个是封装的比较好的,但用起来还是遇到了些坑,所以踩进代码里填填坑- 项目在这里 https://github.com/travist/jsencrypt [r ...
- encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
1.index.html引入 <script src="./static/js/jsencrypt.min.js"></script> 或者 npm i j ...
- RSA加密——前端JSEncrypt
RSA加密--前端JSEncrypt 介绍 JSEncrypt是一个RSA加密库,在没有SSL加密传输通道支持https协议的情况下,该库可以在http传输重要信息如时,保证数据的安全性.我们小组 ...
- Vue项目中的RSA加解密
前后端使用rsa加密: 一般是客户端初始化时访问登录服务时,服务端面动态生成一对RSA对,公钥传给客户端,客户端拿到后,用户输入密码后,点登录时用公钥加密返回给服务端,服务端用私钥解就行了 一.安装 ...
- 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输
Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...
- Java采用RSA加密及解密技术的有关Maven项目的配置流程:
第一步: 获得RSA公钥私钥(秘钥格式:PKCS#8 ,测试使用的是无私钥密码的) 公钥: -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4G ...
随机推荐
- 开源项目SMSS发开指南(四)——SSL/TLS加密通信详解
本文将详细介绍如何在Java端.C++端和NodeJs端实现基于SSL/TLS的加密通信,重点分析Java端利用SocketChannel和SSLEngine从握手到数据发送/接收的完整过程.本文也涵 ...
- libc.so.6修改链接指向后导致系统无法使用的原因及解决方法
https://www.cnblogs.com/weijing24/p/5890031.html http://man.linuxde.net/ldconfig
- 树莓派4b点亮led灯基本步骤
方法/步骤1: 首先要了解树莓派上的针脚,下面以树莓派4b为例子 把LED的正极插在GPIO脚上,把负极插在GND上 这里的例子是:正极插在GPIO21 方法/步骤2: 创建脚本 在配置好的树莓派系统 ...
- docker nginx 实现图片预览
一.实现 nginx http图片预览 1.创建本地配置文件目录以及配置文件 两种方式: 1.1.docker nginx将配置文件抽离到了/etc/nginx/conf.d,只需要配置default ...
- Codeforces_723_D
http://codeforces.com/problemset/problem/723/D dfs找出每个湖,保存坐标和大小,按大小排序,填充湖即可,注意湖的数量最多会有1250个. #includ ...
- CCF_ 201312-2_ISBN号码
水. #include<cstdio>#include<string>#include<iostream>using namespace std; int main ...
- 一台电脑上配置多个git的ssh key
前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的个人账号上已经添加过这个密钥了,公司分配的账号就不能再添加这 ...
- 杂记 -- 关于vue-router样式、vuecli引用全局js函数、vue.slot用法
1.routerLinkTo 样式设置 首先,点击routerlink标签如下图:添加:router-link-active,router-link-exact-active两个类的样式 router ...
- c语言小游戏-三子棋的完成
三子棋的实现 一.实现思路 1.初始化数组 三子棋是九宫格的格式,所以用二维数组接收数据.用‘O’代表电脑下的子,‘X’代表玩家下的子.未下子的时候初始化 ’ ‘(space).则二维数组为“char ...
- 什么是JWT以及具体应用
jwt理论阮大神已经解释的很到位了 http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html jwt官网收录了多种实现库, ...