?網站想要加密傳輸數據以防被竊取,最可靠的方式莫過于使用公鑰加密算法加密,使用HTTPS協議的網站在整個傳輸過程中都使用了這個技術,對于未能使用HTTPS的HTTP網站我們也可以自行實現
功能說明由于HTTP是直接傳輸明文數據的,在網絡安全越發嚴峻的今天,未經加密的HTTP方式已經變得岌岌可危,谷歌公司更是直接表明在搜索結果中會優先考慮使用HTTPS加密的網站
盡管整體趨勢是向HTTPS傾斜的,但是由于諸多服務器以及CDN等服務商還沒全面兼容HTTPS協議,目前要實現整站切換至HTTPS協議可行性還不高
同時安全形勢又刻不容緩,對此,我們可以自行實現RSA加密私密信息
算法說明由于多夢數學不是很好,RSA公鑰加密算法的具體實現多夢就不多說了,對算法的實現有興趣的童鞋可以去看看阮一峰的“RSA算法原理”,下面多夢就說說RSA算法的效果
RSA算法是非對稱加密算法的一種,也叫公鑰加密
和對稱加密算法不同的是,對稱加密算法是加密和解密都使用同一把鑰匙同一種規則,也就是如果你知道怎么加密的,你就知道怎么解密了
所以算法和密鑰不能泄露,否則加密就無意義了
而公鑰加密算法則是同時擁有兩把鑰匙,一個叫公鑰,一個叫私鑰
這兩個鑰匙是對應的,使用公鑰加密的內容只有使用私鑰才能解密,使用私鑰加密的內容只有使用公鑰才能解密
所以算法和公鑰都是可以公開的,只要私鑰還是私密的,就是安全的
實現思路由于我們是加密HTTP要發送的數據,所以加密過程是要在客戶端瀏覽器完成的,算法和密鑰都需要在發送HTTP數據之前就已經存在瀏覽器中,此時使用對稱加密算法已經無意義,因為別人根據你這個加密可以直接解密
所以我們需要選擇非對稱性加密,在網頁中引入算法和公鑰加密,然后發送HTTP數據到服務器,服務器再根據私鑰解密
因為私鑰是私密的,所以算法和公鑰公開也是無法解密,也是安全的
具體到HTTP請求的加密實現,就是在網頁提交表單數據之前使用JavaScript實現公鑰加密數據,然后服務器接受到加密數據后,使用PHP或其他服務器語言進行私鑰解密
擴展閱讀使用JavaScript實現OpenSSL RSA加密和解密
http://www.hecch.cn/manual/zh/ref.openssl.php來源:投稿,原文鏈接
來源
月光博客
請立即點擊咨詢我們或撥打咨詢熱線: 18942620423,我們會詳細為你一一解答你心中的疑難。項目經理在線