任務需求:要求登陸時將密碼加密之后再進行傳輸到后端。
經過半天查詢摸索折騰,於是有了如下成果:
加密方式:RSA非對稱加密。
實現方式:公鑰加密,私鑰解密。
研究進度:javascript與java端皆已實現。
個人方案:
定時器,每天凌晨四五點跑,更換公鑰私鑰。
前端頁面進入登錄頁,則請求后端獲取公鑰,當用戶輸入完登錄表單點擊提交時,將公鑰與密碼進行加密后傳輸。
如果后端解密失敗,則返回指定狀態碼給前端,前端拿到此狀態碼,則再次請求后端,重新獲取公鑰。
因為里面蘊含了三個演示 生成公私鑰、前端加密、后端解密
所以代碼不好貼,於是附上碼雲地址,希望能對有需求的伙伴給予一點幫助。
https://gitee.com/zhao-baolin/rsa
這里稍微解說一下目錄
java為服務端代碼
Encrypt.java是一個controller控制器 演示了使用公鑰將字符串進行加密 使用私鑰將密文進行解密
encrypt目錄下的RSACoder.java文件里有一個main方法 此方法演示了生成公鑰私鑰
html為客戶端代碼
01.html演示了使用公鑰將字符串進行加密
