亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue密碼登陸加密RSA實現(xiàn)方案

 更新時間:2024年07月25日 09:35:19   作者:我是+V  
這篇文章主要介紹了Vue密碼登陸加密RSA實現(xiàn)方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Vue密碼登陸加密RSA方案

有一個項目需求需要在前段登陸的時候把登錄密碼加密后發(fā)送,這個地方其實很簡單,加密的時候可以使用md5、可以使用sha1,也可以使用現(xiàn)在這個方式加密,就簡單記錄一下沒啥。

RSA是啥

RSA加密算法是一種 非對稱加密算法 ,RSA加密使用了"一對"密鑰.分別是公鑰和私鑰,這個公鑰和私鑰其實就是一組數(shù)字!

其二進制位長度可以是1024位或者2048位.長度越長其加密強度越大,目前為止公之于眾的能破解的最大長度為768位密鑰,只要高于768位,相對就比較安全.所以目前為止,這種加密算法一直被廣泛使用.

RSA加密與解密

  • 使用 公鑰 加密的數(shù)據(jù),利用 私鑰 進行解密。
  • 使用 私鑰 加密的數(shù)據(jù),利用 公鑰 進行解密。

安裝依賴

vue使用rsa加密的時候首先需要安裝一個依賴,幫助我們實現(xiàn)加密操作。

npm install jsencrypt 

安裝完就可以用了,如果安裝失敗用 cnpm。

使用

首先在頁面引用

import { JSEncrypt } from 'jsencrypt'

創(chuàng)建一個方法,就是使用我們的密碼加密用的。

	passwordEncryption(passwordUser) {
        let publicKey = this.secretKey // 從后臺獲取公鑰,這個保存一下,在這里用。
        console.log('后臺公鑰---------> ', publicKey)
        let encryptor = new JSEncrypt()  // 新建JSEncrypt對象
        encryptor.setPublicKey(publicKey)  // 設(shè)置公鑰
        let passwordEncryp = encryptor.encrypt(passwordUser)  // 對密碼進行加密
        return passwordEncryp
      },

然后在需要加密的地方使用就可以了。

let pwd = this.passwordEncryption(this.inputForm.password)

Vue使用RSA加密解密加簽解簽,前端開發(fā)工作

(1)A生成一對密鑰(公鑰和私鑰),私鑰不公開,A自己保留。公鑰為公開的,任何人可以獲取。

(2)A傳遞自己的公鑰給B,B用A的公鑰對消息進行加密。

(3)A接收到B加密的消息,利用A自己的私鑰對消息進行解密。

在這個過程中,只有2次傳遞過程,第一次是A傳遞公鑰給B,第二次是B傳遞加密消息給A,即使都被敵方截獲,也沒有危險性,因為只有A的私鑰才能對消息進行解密,防止了消息內(nèi)容的泄露。

在Vue中使用步驟

一般是客戶端初始化時訪問服務(wù)端時,服務(wù)端會生成一對RSA對,及公鑰和密鑰。

如果前端只需要將要傳給后端的數(shù)據(jù)進行加密后傳輸,那么前端可以只要公鑰,通過公鑰對要傳輸?shù)膮?shù)進行加密后把加密的字符串發(fā)給后端即可,后端自有辦法解密。

如果前端要獲取后端傳過來的已經(jīng)加密后的字符串,并且解密使用,那么前端就需要拿到RSA對立面的私鑰進行解密后使用了。

使用步驟

1、安裝依賴

首先引入jsencrypt

npm install jsencrypt --save

2、在main.js中引入

import JsEncrypt from ‘jsencrypt'
Vue.prototype.$jsEncrypt = JsEncrypt

3、將加密解密方法封裝到通用的js內(nèi)

let publicKey = ‘這里是封裝的公鑰'
let privateKey = ‘這里是封裝的私鑰'
//加密方法
RSAencrypt(pas){
//實例化jsEncrypt對象
let jse = new JSEncrypt();
//設(shè)置公鑰
jse.setPublicKey(publicKey);
console.log(‘加密:'+jse.encrypt(pas))
return jse.encrypt(pas);
},
//解密方法
RSAdecrypt(pas){
let jse = new JSEncrypt();
// 私鑰
jse.setPrivateKey(privateKey)
console.log(‘解密:'+jse.decrypt(pas))
return jse.decrypt(pas);
},

我在項目中的使用如下圖:

運行結(jié)果

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue 引入AMap高德地圖的實現(xiàn)代碼

    Vue 引入AMap高德地圖的實現(xiàn)代碼

    這篇文章主要介紹了Vue 引入AMap高德地圖的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Vue中l(wèi)ocalStorage的用法和監(jiān)聽localStorage值的變化

    Vue中l(wèi)ocalStorage的用法和監(jiān)聽localStorage值的變化

    這篇文章主要介紹了Vue中l(wèi)ocalStorage的用法和監(jiān)聽localStorage值的變化,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù))的示例

    vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù))的示例

    這篇文章主要介紹了vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù)),本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-04-04
  • vite+vue3項目集成ESLint與prettier的過程詳解

    vite+vue3項目集成ESLint與prettier的過程詳解

    這篇文章主要介紹了vite+vue3項目中集成ESLint與prettier的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • webstorm和.vue中es6語法報錯的解決方法

    webstorm和.vue中es6語法報錯的解決方法

    本篇文章主要介紹了webstorm和.vue中es6語法報錯的解決方法,小編總結(jié)了webstorm和.vue中出現(xiàn)的es6語法報錯,避免大家采坑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • vue computed無法得到this的屬性或方法的解決

    vue computed無法得到this的屬性或方法的解決

    這篇文章主要介紹了vue computed無法得到this的屬性或方法的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vuex?Mutations同步Actions異步原理解析

    vuex?Mutations同步Actions異步原理解析

    這篇文章主要為大家介紹了vuex?Mutations同步Actions異步原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Vue實現(xiàn)日歷小插件

    Vue實現(xiàn)日歷小插件

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)日歷小插件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • vue+vue-router轉(zhuǎn)場動畫的實例代碼

    vue+vue-router轉(zhuǎn)場動畫的實例代碼

    今天小編就為大家分享一篇vue+vue-router轉(zhuǎn)場動畫的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue?處理異步加載順序問題之如何在Konva中確保文本在圖片之上顯示

    Vue?處理異步加載順序問題之如何在Konva中確保文本在圖片之上顯示

    在處理Konva中的異步加載順序問題時,確保在圖像加載完成后再添加其他元素是關(guān)鍵,通過將回調(diào)函數(shù)放在imageObj.onload中,并正確處理變量捕獲,我們可以確保文本總是繪制在圖片之上,這不僅解決了顯示順序的問題,也為未來的調(diào)試提供了明確的方向,感興趣的朋友一起看看吧
    2024-07-07

最新評論