Vue使用JSEncrypt實(shí)現(xiàn)rsa加密及掛載方法
掛載全局方法
使用jsencrypt進(jìn)行rsa加密
原文鏈接:Js參數(shù)RSA加密傳輸,jsencrypt.js的使用 *
http://chabaoo.cn/article/179813.htm
(原文處有一個(gè)地方不對(duì),不需要轉(zhuǎn)換+,rsa已經(jīng)做過base64轉(zhuǎn)碼了)
1.安裝依賴 npm install jsencrypt 2.在main.js引入 import { JSEncrypt } from 'jsencrypt' 3.掛載全局方法 //JSEncrypt加密方法 Vue.prototype.$encryptedData = function(publicKey, data) { //new一個(gè)對(duì)象 let encrypt = new JSEncrypt() //設(shè)置公鑰 encrypt.setPublicKey(publicKey) //password是要加密的數(shù)據(jù),此處不用注意+號(hào),因?yàn)閞sa自己本身已經(jīng)base64轉(zhuǎn)碼了,不存在+,全部是二進(jìn)制數(shù)據(jù) let result = encrypt.encrypt(password) return result } //JSEncrypt解密方法 Vue.prototype.$decryptData = function(privateKey, data) { // 新建JSEncrypt對(duì)象 let decrypt = new JSEncrypt() // 設(shè)置私鑰 decrypt.setPrivateKey(privateKey) // 解密數(shù)據(jù) let result = decrypt.decrypt(secretWord) return result }
全局混合
使用yarn安裝至Vue項(xiàng)目
yarn add jsencrypt --dep
或者使用npm
npm install jsencrypt --dep
混入
import { JSEncrypt } from 'jsencrypt' export const RsaMixin = { methods: { // 加密 encryptedData(publicKey, data) { // 新建JSEncrypt對(duì)象 let encryptor = new JSEncrypt(); // 設(shè)置公鑰 encryptor.setPublicKey(publicKey); // 加密數(shù)據(jù) return encryptor.encrypt(data); }, // 解密 decryptData(privateKey,data){ // 新建JSEncrypt對(duì)象 let decrypt= new JSEncrypt(); // 設(shè)置私鑰 decrypt.setPrivateKey(privateKey); // 解密數(shù)據(jù) decrypt.decrypt(secretWord); } } }
引入
<script> import InvoiceRecordModal from './modules/InvoiceRecordModal' import { RsaMixin } from '@/mixins/RsaMixin' export default { name: "InvoiceRecordList", //此時(shí)可以直接調(diào)用混入的方法 mixins:[RsaMixin], data(){}, computed:{} } </script>
封裝為單VUE文件中的方法
使用yarn安裝至Vue項(xiàng)目
yarn add jsencrypt --dep
或者使用npm
npm install jsencrypt --dep
引入jsencrypt
import { JSEncrypt } from 'jsencrypt'
方法
methods: { // 加密 encryptedData(publicKey, data) { // 新建JSEncrypt對(duì)象 let encryptor = new JSEncrypt(); // 設(shè)置公鑰 encryptor.setPublicKey(publicKey); // 加密數(shù)據(jù) return encryptor.encrypt(data); }, // 解密 decryptData(privateKey,data){ // 新建JSEncrypt對(duì)象 let decrypt= new JSEncrypt(); // 設(shè)置私鑰 decrypt.setPrivateKey(privateKey); // 解密數(shù)據(jù) decrypt.decrypt(secretWord); } }
總結(jié)
以上所述是小編給大家介紹的Vue使用JSEncrypt實(shí)現(xiàn)rsa加密及掛載方法,希望對(duì)大家有所幫助!
相關(guān)文章
antd的select下拉框因?yàn)閿?shù)據(jù)量太大造成卡頓的解決方式
這篇文章主要介紹了antd的select下拉框因?yàn)閿?shù)據(jù)量太大造成卡頓的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10vue項(xiàng)目發(fā)布有緩存正式環(huán)境不更新的解決方案
vue項(xiàng)目每次發(fā)布新版本后,測試人員都要強(qiáng)制刷新才能更新瀏覽器代碼來驗(yàn)證bug,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目發(fā)布有緩存正式環(huán)境不更新的解決方案,需要的朋友可以參考下2024-03-03vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案
今天小編就為大家分享一篇vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Vue項(xiàng)目三級(jí)聯(lián)動(dòng)路由跳轉(zhuǎn)與傳參的思路詳解
這篇文章主要介紹了Vue項(xiàng)目三級(jí)聯(lián)動(dòng)的路由跳轉(zhuǎn)與傳參的思路詳解,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-08-08Vue利用AJAX請(qǐng)求獲取XML文件數(shù)據(jù)的操作方法
在現(xiàn)代Web開發(fā)中,從前端框架到后端API的交互是必不可少的一部分,Vue.js作為一個(gè)輕量級(jí)且功能強(qiáng)大的前端框架,支持多種方式與服務(wù)器通信,從而獲取或發(fā)送數(shù)據(jù),本文將詳細(xì)介紹如何在Vue.js項(xiàng)目中使用AJAX請(qǐng)求來獲取XML格式的數(shù)據(jù),需要的朋友可以參考下2024-09-09使用vue實(shí)現(xiàn)點(diǎn)擊按鈕滑出面板的實(shí)現(xiàn)代碼
這篇文章主要介紹了使用vue實(shí)現(xiàn)點(diǎn)擊按鈕滑出面板的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01vue父元素點(diǎn)擊事件與子元素點(diǎn)擊事件沖突問題
這篇文章主要介紹了vue父元素點(diǎn)擊事件與子元素點(diǎn)擊事件沖突問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01