QQ在線客服

當前位置:首頁> 建站> 建站資訊

HTTP使用RSA公鑰加密算法加密明文

2015-10-26 18:04 來源: williamlong.info 編輯: 佚名 瀏覽(24978)人   

  網(wǎng)站想要加密傳輸數(shù)據(jù)以防被竊取,最可靠的方式莫過于使用公鑰加密算法加密,使用HTTPS協(xié)議的網(wǎng)站在整個傳輸過程中都使用了這個技術(shù),對于未能使用HTTPS的HTTP網(wǎng)站我們也可以自行實現(xiàn)。

  功能說明

  由于HTTP是直接傳輸明文數(shù)據(jù)的,在網(wǎng)絡(luò)安全越發(fā)嚴峻的今天,未經(jīng)加密的HTTP方式已經(jīng)變得岌岌可危,谷歌公司更是直接表明在搜索結(jié)果中會優(yōu)先考慮使用HTTPS加密的網(wǎng)站。

  盡管整體趨勢是向HTTPS傾斜的,但是由于諸多服務(wù)器以及CDN等服務(wù)商還沒全面兼容HTTPS協(xié)議,目前要實現(xiàn)整站切換至HTTPS協(xié)議可行性還不高。

  同時安全形勢又刻不容緩,對此,我們可以自行實現(xiàn)RSA加密私密信息。

  算法說明

  由于多夢數(shù)學(xué)不是很好,RSA公鑰加密算法的具體實現(xiàn)多夢就不多說了,對算法的實現(xiàn)有興趣的童鞋可以去看看阮一峰的“RSA算法原理”,下面多夢就說說RSA算法的效果。

  RSA算法是非對稱加密算法的一種,也叫公鑰加密。

  和對稱加密算法不同的是,對稱加密算法是加密和解密都使用同一把鑰匙同一種規(guī)則,也就是如果你知道怎么加密的,你就知道怎么解密了。所以算法和密鑰不能泄露,否則加密就無意義了。

  而公鑰加密算法則是同時擁有兩把鑰匙,一個叫公鑰,一個叫私鑰。這兩個鑰匙是對應(yīng)的,使用公鑰加密的內(nèi)容只有使用私鑰才能解密,使用私鑰加密的內(nèi)容只有使用公鑰才能解密。所以算法和公鑰都是可以公開的,只要私鑰還是私密的,就是安全的。

  實現(xiàn)思路

  由于我們是加密HTTP要發(fā)送的數(shù)據(jù),所以加密過程是要在客戶端瀏覽器完成的,算法和密鑰都需要在發(fā)送HTTP數(shù)據(jù)之前就已經(jīng)存在瀏覽器中,此時使用對稱加密算法已經(jīng)無意義,因為別人根據(jù)你這個加密可以直接解密。

  所以我們需要選擇非對稱性加密,在網(wǎng)頁中引入算法和公鑰加密,然后發(fā)送HTTP數(shù)據(jù)到服務(wù)器,服務(wù)器再根據(jù)私鑰解密。因為私鑰是私密的,所以算法和公鑰公開也是無法解密,也是安全的。

  具體到HTTP請求的加密實現(xiàn),就是在網(wǎng)頁提交表單數(shù)據(jù)之前使用JavaScript實現(xiàn)公鑰加密數(shù)據(jù),然后服務(wù)器接受到加密數(shù)據(jù)后,使用PHP或其他服務(wù)器語言進行私鑰解密。

【版權(quán)與免責聲明】如發(fā)現(xiàn)內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息發(fā)郵件至 kefu@2898.com ,我們將及時溝通與處理。 本站內(nèi)容除了2898站長資源平臺( www.afrimangol.com )原創(chuàng)外,其它均為網(wǎng)友轉(zhuǎn)載內(nèi)容,涉及言論、版權(quán)與本站無關(guān)。