亚洲国产成人,色呦呦内射午夜,无码一级片,无码人妻少妇色欲AV一区二区

<samp id="jg8hh"></samp>

<p id="jg8hh"></p><delect id="jg8hh"><em id="jg8hh"><blockquote id="jg8hh"></blockquote></em></delect><acronym id="jg8hh"><dd id="jg8hh"></dd></acronym><button id="jg8hh"><dd id="jg8hh"><acronym id="jg8hh"></acronym></dd></button><samp id="jg8hh"><em id="jg8hh"><blockquote id="jg8hh"></blockquote></em></samp>

<p id="jg8hh"></p>

<samp id="jg8hh"><legend id="jg8hh"></legend></samp>
<samp id="jg8hh"><legend id="jg8hh"><samp id="jg8hh"></samp></legend></samp>

<samp id="jg8hh"></samp>

<p id="jg8hh"></p><acronym id="jg8hh"></acronym><p id="jg8hh"><dd id="jg8hh"><acronym id="jg8hh"></acronym></dd></p><p id="jg8hh"></p>

<p id="jg8hh"></p><delect id="jg8hh"><legend id="jg8hh"><var id="jg8hh"></var></legend></delect><button id="jg8hh"><listing id="jg8hh"><i id="jg8hh"></i></listing></button>
<delect id="jg8hh"><legend id="jg8hh"><var id="jg8hh"></var></legend></delect>

php openssl_encrypt(php openssl_decrypt)

發(fā)布時(shí)間:2024-05-08
本文主要介紹php openssl _ encrypt,下面一起看看php openssl _ encrypt相關(guān)資訊。
介紹互聯(lián)網(wǎng)發(fā)展史,安全一直是開(kāi)發(fā)者非常重視的話題。為了實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)陌踩裕覀冃枰WC數(shù)據(jù)源的完整性(非偽造請(qǐng)求)和數(shù)據(jù)的完整性(無(wú)修改)以及數(shù)據(jù)的私密性(密文,無(wú)法直接讀取)。雖然https協(xié)議是通過(guò)ssl/tls協(xié)議實(shí)現(xiàn)的,但是由于瀏覽器是在客戶端正確實(shí)現(xiàn)的,效率很低,一般的敏感數(shù)據(jù),比如交易支付信息,都需要使用加密方法手動(dòng)加密。雖然普通的web開(kāi)發(fā)人員沒(méi)有必要了解一些基本的安全相關(guān)技術(shù),但是學(xué)習(xí)加密的基礎(chǔ)知識(shí),使用現(xiàn)有的加密相關(guān)工具是非常必要的。由于工作需要,看了一些關(guān)于加密的相關(guān)文章,結(jié)合自己的經(jīng)驗(yàn)完成了這篇文章。在學(xué)習(xí)如何使用加密之前,我們需要了解一些與加密相關(guān)的基礎(chǔ)知識(shí)。加密算法一般分為兩類:對(duì)稱加密算法和非對(duì)稱加密算法。對(duì)稱加密對(duì)稱加密算法,消息發(fā)送方和接收方使用同一個(gè)密鑰,發(fā)送方加密文件的密鑰,接收方使用同一個(gè)密鑰解密得到信息。常見(jiàn)的對(duì)稱加密算法有des和aes/3des。對(duì)稱加密算法的特點(diǎn)是加密速度快,加密前后文件大小變化不大,但密鑰的保密性是個(gè)大問(wèn)題,因?yàn)橄l(fā)送方和接收方的密鑰丟失會(huì)導(dǎo)致信息傳輸不安全。不對(duì)稱加密不對(duì)稱加密是相對(duì)于對(duì)稱加密而言的。非對(duì)稱加密的核心思想是使用一對(duì)相對(duì)密鑰,可分為公鑰和私鑰。私鑰安全保管,公鑰公開(kāi),公鑰和私鑰是一對(duì)。如果我們用公鑰加密數(shù)據(jù),我們可以用相應(yīng)的私鑰解密。如果我們使用私鑰來(lái)加密數(shù)據(jù),我們只能使用相應(yīng)的公鑰來(lái)解密。在發(fā)送數(shù)據(jù)之前,我們只需要用接收方的公鑰對(duì)其進(jìn)行加密。一般的非對(duì)稱加密算法有rsa/dsa:非對(duì)稱加密沒(méi)有密鑰問(wèn)題,但是計(jì)算量大,加密速度慢,有時(shí)需要加密大量數(shù)據(jù)。數(shù)字簽名為了保證數(shù)據(jù)的完整性,哈希函數(shù)也需要哈希值來(lái)計(jì)算,這就是所謂的數(shù)字簽名:無(wú)論原始數(shù)據(jù)有多大,結(jié)果的長(zhǎng)度都是一樣的。輸入相同,輸出也相同。輸入中的一個(gè)小變化會(huì)對(duì)結(jié)果產(chǎn)生很大的影響。加密過(guò)程不可逆,原始數(shù)據(jù)無(wú)法用哈希值表示。常見(jiàn)的數(shù)字簽名算法有md5、hash1等。php的openssl擴(kuò)展openssl擴(kuò)展了openssl加密擴(kuò)展包,封裝了幾個(gè)php函數(shù)進(jìn)行加密和解密,解密和解密了很多數(shù)據(jù):對(duì)稱加密相關(guān):string(字符串?dāng)?shù)據(jù),openssl_encrypt string的方法,string的密碼)其中$ data是要加密的數(shù)據(jù),$ method是加密方法,密碼是使用的密鑰,函數(shù)返回加密的數(shù)據(jù)。這個(gè)方法可以使用美元列表openssl_get_cipher_methods,我們選擇其中一個(gè)來(lái)使用,和美元列表方法相同:(數(shù)組0 = aes-128-cbc/aes加密1 = des加密2 = des-ede3/3des加密...)解密函數(shù)字符串(字符串?dāng)?shù)據(jù),openssl_encrypt字符串的方法,字符串的密碼)非對(duì)稱加密相關(guān):openssl _ get _ public key(openssl _ pkey _ get _ public);;//來(lái)自公鑰的證書(shū);openssl _ get _ private key(openssl _ pkey _ get _ private);;//來(lái)自證書(shū)的私鑰;都需要傳入證書(shū)文件(一般是. pem文件);openssl _ public _ encrypt(string data,string encryption,mixed key {int usd,usd _ pkcs1 padding = openssl _ padding })用公鑰加密數(shù)據(jù),公鑰加密數(shù)據(jù)用于數(shù)據(jù)加密;美元是參考變量,加密的數(shù)據(jù)會(huì)放入這個(gè)變量;密鑰是輸入數(shù)據(jù)的公鑰;因?yàn)榧用艿臄?shù)據(jù)包可能不僅加密大部分比特,還需要填充(填充usd/usd可選填充),openssl_pkcs1_padding、openssl_no_padding、pkcs # 1分別填充或不填充使用;與此方法相反(傳遞的參數(shù)一致):(openssl _ private _ encrypt);//用私鑰加密;(openssl _ private _ decrypt);//使用私鑰解密;(openssl _ private _ decrypt);//用公鑰解密;還有簽名和校驗(yàn)函數(shù):布爾型openssl_sign(字符串?dāng)?shù)據(jù),字符串簽名,混合priv_key_id usd {,混合簽名_alg = openssl_al_sha1 usd})國(guó)際openssl_verify(字符串?dāng)?shù)據(jù),字符串簽名,混合pub_key_id usd {,混合簽名_ alg = openssl})。$ signature簽名的結(jié)果;用于簽名priv_key_id美元的私鑰;signature_alg usd是用于簽名的算法,其算法列表可以通過(guò)openssl_get_md_methods找到。(數(shù)組0 = md5,1 = sha1,2 = sha256,…)校驗(yàn)函數(shù):與簽名函數(shù)相比,只導(dǎo)入私鑰對(duì)應(yīng)的公鑰。所以簽名驗(yàn)證的結(jié)果是1,0失敗,1錯(cuò)誤。加密示例下面是一個(gè)使用非對(duì)稱加密的小示例:獲取公鑰pub _ key usd = openssl _ get _ public k測(cè)試。pem);加密=;塊加密為($ offset = 0,length = strlen(raw _ msg usd usd usd offset);長(zhǎng)度;offset key _ size usd){ encrypted block usd =;data = substr(raw_msg usd usd usd,offset,key_size) if(!openssl_public_encrypt($ data,encryptedblock,pub_key,openssl _ pkcs1 _ padding)){ return ; ;{ person } encrypted block usd usd =;}返回$ encryption用對(duì)稱加密很簡(jiǎn)單,直接使用ssl_encrypt函數(shù)。當(dāng)然,有些接口可能對(duì)加密方法有不同的要求,比如不同的填充、塊大小等。,這需要用戶自己調(diào)整。因?yàn)槲覀兪窃趆ttp協(xié)議上處理數(shù)據(jù),數(shù)據(jù)加密已經(jīng)完成,可以直接發(fā)送,不考慮底層傳輸。curl或soap擴(kuò)展方法可以直接請(qǐng)求接口。postscript密碼學(xué)是一門(mén)很深?yuàn)W的學(xué)科,理論難度很大。作為一個(gè)web開(kāi)發(fā)人員,我們沒(méi)有必要去研究底層的實(shí)現(xiàn),但是學(xué)習(xí)如何使用封裝的方法對(duì)我們的開(kāi)發(fā)是非常有益的。即使知道基本實(shí)現(xiàn),光是算法就能有新的認(rèn)識(shí)。上面php的openssl加密擴(kuò)展就是一個(gè)總結(jié)。有件事我可以和你分享。我們希望給你一個(gè)參考,也希望你能支持。
了解更多php openssl _ encrypt相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。
上一個(gè):南方黑木耳袋料種植技術(shù)
下一個(gè):厚聲0402WGF9104TCE電阻

單干桂花的正確栽培技術(shù)
什么是封箱膠帶的持粘性?要怎么檢測(cè)?
大豆蛋白肽干燥塔的常見(jiàn)問(wèn)題及成因
反滲透純水機(jī)到底對(duì)身體好不好?
彈性座封閘閥使用范圍亦日漸擴(kuò)大
普洱茶出處
確定一體化泵站中的水泵的流浪和揚(yáng)程的方法
云南昆明礦機(jī)廠鉛鋅礦浮選設(shè)備及鉛鋅氧化礦、鉛鋅硫化礦選礦技術(shù)綜述(2
常飲天目湖白茶能健身
糖柱對(duì)糖的分離順序原理