1. 程式人生 > 程式設計 >Vue使用JSEncrypt實現rsa加密及掛載方法

Vue使用JSEncrypt實現rsa加密及掛載方法

掛載全域性方法

使用jsencrypt進行rsa加密

原文連結:Js引數RSA加密傳輸,jsencrypt.js的使用 *
https://www.jb51.net/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加密及掛載方法,希望對大家有所幫助!