RSA實現前端數據加密
阿新 • • 發佈:2018-05-07
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實現前端數據加密