您好,登錄后才能下訂單哦!
掛載全局方法
使用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加密及掛載方法,希望對大家有所幫助!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。