QQ在線客服

當(dāng)前位置:首頁(yè)> 建站> 建站資訊

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

2015-10-26 18:04 來(lái)源: williamlong.info 瀏覽(48166)人   

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

  功能說(shuō)明

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

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

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

  算法說(shuō)明

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

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

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

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

  實(shí)現(xiàn)思路

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

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

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

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