1. 程式人生 > >RSA實現前端數據加密

RSA實現前端數據加密

jsb 三方 rsa算法 clas 對稱 get har js庫 ram

一、前言

   一般在登錄註冊的時候,不能以明文的方式傳遞數據到後臺,如果是http下,很容易被劫持。所以對數據進行加密是常規做法。

二、RSA算法

  ”RSA加密算法是一種非對稱加密算法。對極大整數做因數分解的難度決定了RSA算法的可靠性。換言之,對一極大整數做因數分解愈困難,RSA算法愈可靠。假如有人找到一種快速因數分解的算法的話,那麽用RSA加密的信息的可靠性就肯定會極度下降。但找到這樣的算法的可能性是非常小的。今天只有短的RSA鑰匙才可能被強力方式解破。到目前為止,世界上還沒有任何可靠的攻擊RSA算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的。”----來自度娘

三、前端使用

  下載第三方js庫來使用RSA。下載地址。

import _rsa from ‘rsa‘
import publikey fom ‘../component/key‘
const rsa = new (_rsa.RSA)

//設置公鑰
rsa.setPublicKey(key);

//傳給後臺
params: {
     userid:this.userId,
     password : rsa.encrypt( this.password ),
 }

說明:有一對像相對應的公鑰和私鑰匙,服務器獲得公鑰加密之後的密碼,再用用對應的私鑰打開。私鑰一般放在服務器上面,只有我們自己知道。這樣就可以做到,即使密碼被攔截,攻擊者也很難破解密碼。

RSA實現前端數據加密