Vue使用JSEncrypt實(shí)現(xiàn)rsa加密及掛載方法
掛載全局方法
使用jsencrypt進(jìn)行rsa加密
原文鏈接:Js參數(shù)RSA加密傳輸,jsencrypt.js的使用 *
http://www.dhdzp.com/article/179813.htm
(原文處有一個(gè)地方不對(duì),不需要轉(zhuǎn)換+,rsa已經(jīng)做過(guò)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)文章
解決vuex刷新?tīng)顟B(tài)初始化的方法實(shí)現(xiàn)
這篇文章主要介紹了解決vuex刷新?tīng)顟B(tài)初始化的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
vue3+pinia用戶信息持久緩存token的問(wèn)題解決
本文主要介紹了vue3+pinia用戶信息持久緩存token的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
vue 1.0 結(jié)合animate.css定義動(dòng)畫(huà)效果
本文分步驟給大家介紹了Vue 1.0自定義動(dòng)畫(huà)效果,vue1.0代碼結(jié)合animate.css定義動(dòng)畫(huà),頁(yè)面一定要引入animate.cdd,具體實(shí)例代碼大家參考下本文2018-07-07
vue實(shí)例成員?插值表達(dá)式?過(guò)濾器基礎(chǔ)教程示例詳解
這篇文章主要為大家介紹了vue實(shí)例成員?插值表達(dá)式?過(guò)濾器基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
對(duì)Vue beforeRouteEnter 的next執(zhí)行時(shí)機(jī)詳解
今天小編就為大家分享一篇對(duì)Vue beforeRouteEnter 的next執(zhí)行時(shí)機(jī)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
vue element-ui之怎么封裝一個(gè)自己的組件的詳解
這篇文章主要介紹了vue element-ui之怎么封裝一個(gè)自己的組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Vue 2閱讀理解之initRender與callHook組件詳解
這篇文章主要為大家介紹了Vue 2閱讀理解之initRender與callHook組件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Vue利用Blob下載原生二進(jìn)制數(shù)組文件
這篇文章主要為大家詳細(xì)介紹了Vue利用Blob下載原生二進(jìn)制數(shù)組文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09

