當前位置:首頁 » 網頁前端 » 前端生成公鑰私鑰
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端生成公鑰私鑰

發布時間: 2023-06-11 15:15:35

1. 前後端交互數據加解密

本文提供了一種前後端交互數據的加解密方法,主要涉及了AES和RSA兩種加密方式。

AES加密是一種對稱式加密,即加密和解密所需秘鑰是相同的。後端生成一組秘鑰,並利用該秘鑰加密數據,然後發給前端,同時也需要把秘鑰發送給前端,這樣前端才能解密。這樣就會有風險,一旦秘鑰被泄露,你的加密將不存在任何意義。同時,相比RSA加密來說,好處是不會限制加密字元串的長度。

RSA加密,是一種非對稱式加密,相比AES加密,這個就安全多了。後端生成一對秘鑰,自己拿著私鑰,公鑰可以公開。這樣前端拿公鑰進行加密,後端拿私鑰進行解密,私鑰掌握在自己手裡,被泄露的風險就小了很多。當然也有不好的地方,就是被加密字元串的長度不能過長,1024的秘鑰只能加密117位元組以內的明文,這就比較尷尬了,可能稍微長一點的數據就會超出了,當然可以通過2048或者4096的秘鑰來延長加密長度,但總會被超出。所以適合需要加密長度不長的數據,最好是已知長度的數據,這樣 就不會因長度問題報錯。

RSA+AES混合加密,即後端通過RSA演算法生成一對公私鑰,並把公鑰提供給前端。前端通過AES演算法生成密鑰,利用公鑰進行加密並送給後端,後端根據私鑰進行解密,得到與前端相同的AES密鑰。然後,前後端就可以利用AES密鑰對稱加密進行數據交互。

詳細步驟如圖所示。

RSA+AES混合加密,結合了兩種加密方式的優點。另外,前端每次啟動都會隨機生成AES密鑰,後端增加token失效機制(前端設置了定時任務請求token),增加了前後端數據交互的安全性。

https://www.cnblogs.com/huanzi-qch/p/10913636.html
https://blog.csdn.net/weixin_38342534/article/details/94582656

2. python rsa模塊---生成公鑰和私鑰的方法

https://blog.csdn.net/six66hao/article/details/81814576
https://blog.csdn.net/whatday/article/details/97617461
https://blog.csdn.net/xiongzaiabc/article/details/88400748
https://blog.csdn.net/zhao3587717/article/details/83111082/

一.
非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)
對稱加密演算法大家共渣歲用一個密鑰

數字簽名: 就是為了證明該信件是確定的人發出的,而不是黑客冒充發出的
eg:
1.鮑勃給蘇珊回信,決定採用"數字簽名"。他寫完後先用Hash函數,生成信件的摘要(digest)。

二.用RSA庫可以生成公鑰和私改梁盯鑰
到時候把公鑰給前端,後端保存公鑰和私鑰

三.在用戶注冊/登入時,輸入密碼後前端會用JS對密碼進行加密傳送到後端
一般現在對於密碼的加密解密都核和用RSA進行