RSA的簡單認識

2021-09-08 21:41:28 字數 703 閱讀 5636

rsa是一種非對稱加密演算法,金鑰分為公鑰和私鑰,私鑰加密的內容,只有用公鑰或者私鑰來解密,公鑰加密的內容,只能用私鑰來解密,公鑰可以傳送給別人,私鑰一定要儲存著自己手裡。

舉個例子,別人想和我發資訊,所以我先給別人乙個帶鎖的箱子,這個箱子就是公鑰,箱子的鑰匙就是私鑰,私鑰一直在我手裡,這樣,即使在資訊的傳輸過程中被竊取了,由於沒有私鑰,也無法解密。

rsa 也可以用來為乙個訊息簽名。

對訊息字串的雜湊值(message digest,用 md5、sha256 等演算法求得的長度較短且固定的字串)使用 rsa 的私鑰計算簽名(實際上仍然是加密訊息)後,得到乙個簽名字串,將其附加在訊息字串的合適位置後,一併傳送。接收方使用對應的公鑰可以從簽名字串中解密出原來的雜湊值,同時對原始訊息再計算一次雜湊值。二者相比較,假如兩者相符的話,則認為發信人持有正確的私鑰,並且這個訊息在傳播路徑上沒有被篡改過。

rsa可以結合jwt實現服務的許可權認證,其流程大致如下:

1.使用者登入,資訊傳送到許可權認證模組,若賬號密碼都正確,在資料庫搜尋出需要的使用者資訊,如使用者的名稱,使用者的id等。

2.再用私鑰對使用者的身份資訊進行加密,生成token,傳送給使用者,並且在其他的服務上都包有乙份公鑰

3.使用者訪問其他服務都會攜帶token,其他服務可以根據自身的公鑰對token解析,並且驗證token的簽名

假如別人竊取並修改了token資訊,那麼訪問服務時,服務就無法解析出來,就會驗證失敗。

rsa的簡單學習

rsa演算法是應用最廣泛的公鑰密碼演算法。1977年,rsa演算法由mit的羅納德 李維斯特 ron rivest 阿迪 薩莫爾 adi shamir 和倫納德 阿德曼 leonard adleman 共同設計,於1978年正式發布,以他們三人的首字母命名。在這之前所用的對稱加密方式只採用乙個金鑰,...

this簡單認識

this 在函式中簡單的說,this的指向存在於函式呼叫的時候決定的,誰呼叫了這函式 函式中的this就指向誰 例如 1 普通的呼叫函式的時候 fn window2 物件呼叫 var obj obj.f fn obj.f this obj3 定時器呼叫 因為fn不是我們自己手寫 呼叫的 底層是win...

RSA演算法簡單例項

1 選擇一對不同的 足夠大的素數p,q。2 計算n pq。3 計算f n p 1 q 1 同時對p,q嚴加保密,不讓任何人知道。4 找乙個與f n 互質的數e,且1 取p 3 q 11 則 n pq 33 f n p 1 q 1 20,在1到20中取e與20互質,取e 3 也可以取其他 d 3 1 ...