![RSA密碼傳輸加密方案_第1頁](http://file4.renrendoc.com/view11/M00/35/08/wKhkGWVqyfOAFXomAAIm56JDVjM568.jpg)
![RSA密碼傳輸加密方案_第2頁](http://file4.renrendoc.com/view11/M00/35/08/wKhkGWVqyfOAFXomAAIm56JDVjM5682.jpg)
![RSA密碼傳輸加密方案_第3頁](http://file4.renrendoc.com/view11/M00/35/08/wKhkGWVqyfOAFXomAAIm56JDVjM5683.jpg)
![RSA密碼傳輸加密方案_第4頁](http://file4.renrendoc.com/view11/M00/35/08/wKhkGWVqyfOAFXomAAIm56JDVjM5684.jpg)
![RSA密碼傳輸加密方案_第5頁](http://file4.renrendoc.com/view11/M00/35/08/wKhkGWVqyfOAFXomAAIm56JDVjM5685.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
RSA密碼傳輸加密方案對應(yīng)的【魯能集團泰山度假俱樂部產(chǎn)品展現(xiàn)系統(tǒng)安全功能初測觀看報告】中的〔5,6〕互聯(lián)網(wǎng)的進展史上,安全性始終是開發(fā)者們相當重視的一個主題,為了實現(xiàn)數(shù)據(jù)傳輸安全,〔非偽造懇求〔沒有被人修改正〔密文,無法直接讀取〕等。雖然現(xiàn)在已經(jīng)有SSL/TLS協(xié)議實現(xiàn)的S協(xié)議,但是因在客戶〔如交易支付信息等〕還是需要我們使用加密方法來手動加密。雖然對于一般的WEB開發(fā)人員來說,大可不必深入了解一些安全相關(guān)的底層技術(shù),但學(xué)習(xí)章,結(jié)合自己的使用經(jīng)受,完成此文。RSA加密算法是一種非對稱加密算法。在公鑰加密標準和電子商業(yè)中RSA被廣泛使用。RSA1977年由羅納德?李維斯特〔RonRivest〕、阿迪?薩莫爾〔AdiShamir〕和倫納德?阿德曼〔LeonardAdleman〕一起提出的。當時他們?nèi)硕荚诼槭±砉W(xué)院工作。RSA就是他們?nèi)诵帐祥_頭字母拼在一起組成的。加密根底學(xué)習(xí)如何使用加密之前,我們需要了解一些加密相關(guān)的根底學(xué)問。加密算法一般分為兩種:對稱加密算法和非對稱加密算法。對稱加密使用同樣的密匙解密,獵取信息。常見的對稱加密算法有:des/aes/3des.由于消息發(fā)送方和接收方任意一方的密匙喪失,都會導(dǎo)致信息傳輸變得擔憂全。非對稱加密解密。發(fā)送數(shù)據(jù)前只需要使用接收方的公匙加密就行了。常見的非對稱加密算法有RSA/DSA:非對稱加密雖然沒有密匙保存問題,但其計算量大,加密速度很慢,有時候我們還需要對大塊數(shù)據(jù)進展分塊加密。數(shù)字簽名簽名。其特點有:無論原始數(shù)據(jù)是多大,結(jié)果的長度一樣的;無論原始數(shù)據(jù)是多大,結(jié)果的長度一樣的;輸入一樣,輸出也一樣;對輸入的微小轉(zhuǎn)變,會使結(jié)果產(chǎn)生很大的變化;加密過程不行逆,無法通過散列值得到原來的數(shù)據(jù);常見的數(shù)字簽名算法有md5,hash1常見的數(shù)字簽名算法有md5,hash1等算法。PHPopenssl擴展openssl擴展使用openssl加密擴展包,封裝了多個用于加密解密相關(guān)的PHP函數(shù),極大對稱加密相關(guān):stringopenssl_encrypt(string$data,string$method,string$password)$data$method$password函數(shù)返回加密后的數(shù)據(jù);其中其中$method列表可以使用openssl_get_cipher_methods來獵取,我們選取其中一個使用,$method列表形如:Array(0aes-128-cbc, 加密Array(0aes-128-cbc, 加密1=>des-ecb,加密2=>des-ede3,加密...)其解密函數(shù)為stringopenssl_encrypt(string$data,string$method,string$password)非對稱加密相關(guān)://從證書導(dǎo)出公匙;//從證書導(dǎo)出私匙;它們都只需要傳入證書文件〔一般是.pem文件〕;openssl_public_encrypt(string$data,string&$crypted,mixed$key[,int$padding=OPENSSL\_PKCS1\_PADDING])使用公匙加密數(shù)據(jù),其中$data是要加密的數(shù)據(jù);$crypted是一個引用變量,加密后的數(shù)據(jù)會被放入這個變量中;$key是要傳入的公匙數(shù)據(jù);由于被加密數(shù)據(jù)分組時,有可能不會正好為加密位數(shù)bit的整數(shù)倍,所以需要$padding(填充補齊),$padding的可選項有OPENSSL_PKCS1_PADDING,OPENSSL_NO_PADDING,PKCS1填充,或不使用填充;與此方法相對的還有〔傳入?yún)?shù)全都〕:openssl_private_encrypt;//使用私匙加密;openssl_private_decrypt;//使用私匙解密;openssl_public_decrypt;//使用公匙解密;還有簽名和驗簽函數(shù):boolopenssl_sign(string$data,string&$signature,mixed$priv_key_id[,mixed$signature_alg=OPENSSL_ALGO_SHA1])加密流程傳輸流程:加密流程傳輸流程:intopenssl_verify(string$data,string$signature,mixed$pub_key_id[,mixed$signature_alg=OPENSSL_ALGO_SHA1])簽名函數(shù):$data為要簽名的數(shù)據(jù);簽名函數(shù):$data為要簽名的數(shù)據(jù);$signature為簽名結(jié)果的引用變量;$priv_key_id為簽名所使用的私匙;$signature_alg為簽名要使用的算法,其算法列表可以使用openssl_get_md_methods得到,形如:array(0=>MD5,1=>SHA1,2=>SHA256,...)驗簽函數(shù):與簽名函數(shù)相對,只不過它要傳入與私匙對應(yīng)的公匙;其結(jié)果為簽名驗證結(jié)果,1為成功,0為失敗,-1則表示錯誤;rsa加密用戶名和口令,md5密鑰加密用戶名和口令和驗證碼,比照的時候rsamd5驗證JS加密代碼:<script/rsa/jsbn.js“></script><script/rsa/prng4.js“></script><script/rsa/rng.js“></script><script/rsa/rsa.js“></script><script/rsa/base64.js“></script><script<scriptlanguage=“JavaScript“>varEDBD80E84679EC5CDDAC3C65”?>“;varpublic_length=“0x10001“;functiondo_encrypt{varrsa=newRSAKey;rsa.setPublic(public_key,public_length);varres=password”).val);varres_cap=””;if($(”#captcha”).val){res_cap=rsa.encrypt($(”#captcha”).val);}if(res&&res_cap){rd=”+$(”#password”).val+$(”#captcha”).val));varresult=hex2b64(res);$(”#data”).val(result);$(”#captcha_hidden”).val(hex2b64(res_cap));$(”#loginform”).submit;}returntrue;}效勞端生成一組公鑰與私鑰,將公鑰發(fā)送給客戶端進展密碼加密,在使用密鑰進展解密,相關(guān)代碼:Rsa.phpclassRsa{e的值public$rsae;十六進制數(shù)據(jù)public$rsa_modules;publicfunction construct{$this->rsae=”0x10001”;$this->rsa_modules=7F39355086250695698B0281032DEADDCA3938AF8590DE6458FAD597DB1C3DCDDAC3C65”;}
@param$data要加密的字符串@param$private_key公鑰@returnmixed加密的結(jié)果*/publicfunctionpublicDecrypt($data,$public_key){$public_key=file_get_contents($public_key);$pub_key=openssl_pkey_get_public($public_key);$encrypted=base64_encode($encrypted);//由于加密后是亂碼,所以一下return$encrypted;}
@param$data要解密的字符串@param$private_key私鑰@returnmixed解密的結(jié)果*/publicfunctionprivateDecrypt($data,$private_key){$encrypted=base64_decode($data);$private_key=file_get_contents($private_key);$pi_key=openssl_pkey_get_private($private_key);return$decrypted;}}掌握器實現(xiàn):$this->load->library(”Rsa”);$rsa=newRsa;$captcha=request_post(”captcha”);$decrypt_cap=$rsa->privateDecrypt($captcha,$this->_config[”rsa_private_key”]);if(strtolower($this->session->userdata(”captcha”))!=strtolower($decrypt_cap)){$this->message(”驗證碼不正確”site_url($this->siteclass”/.$this->sitemethod),2);}$decrypt_data=$rsa->privateDecrypt($this->input->post(”data”,true),$this->_config[”rsa_private_key”]);if(!$decrypt_data){$this->systemlog(””,0,4);”有治理員有登錄特別操作”,”治理員登錄時簽名信息被篡改,請檢查,登錄時間”.date(”Y-m-dH:i:s”));2);}parse_str($decrypt_data,$form_data);$username=trim($form_data[”username”]);$passwor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙科版八年級歷史上冊月考試卷含答案
- 2025年成都職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年廣州番禺職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年安徽電氣工程職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年大興安嶺職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025至2031年中國雙碟砂紙機行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國錦繡石行業(yè)投資前景及策略咨詢研究報告
- 七年級地理下冊 8.4法國說課稿 (新版)湘教版
- 2025至2031年中國手遞紙式平壓壓痕切線機行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國臥式滅菌釜行業(yè)投資前景及策略咨詢研究報告
- 新員工三級安全教育考試試題參考答案
- 35kV輸變電工程(變電站、輸配電線路建設(shè))技術(shù)方案
- 數(shù)學(xué)史簡介課件可編輯全文
- 中學(xué)安全辦2024-2025學(xué)年工作計劃
- 2024年山東省東營市中考數(shù)學(xué)試題 (解析版)
- 2024年鄉(xiāng)村振興(產(chǎn)業(yè)、文化、生態(tài))等實施戰(zhàn)略知識考試題庫與答案
- 網(wǎng)絡(luò)安全基礎(chǔ)知識入門教程
- AI智慧物流園區(qū)整體建設(shè)方案
- 2024年遼寧鐵道職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 無痛人工流產(chǎn)術(shù)課件
- 心力衰竭業(yè)務(wù)學(xué)習(xí)護理課件
評論
0/150
提交評論