這篇文章主要介紹PHP7中使用“DES-EDE-CBC”加解密的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
專注于為中小企業(yè)提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)武強免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
之前PHP5上常使用的mcrypt庫在PHP7.1+上已經(jīng)被移除,故我們采用openssl對數(shù)據(jù)進(jìn)行加解密。
加密方式采用DES-EDE-CBC方式。
密鑰填充方式為:采用24位密鑰,先將key進(jìn)行MD5校驗取值,得出16位字串,再取key MD5校驗值前8位追加到先前的取值后面。由此組裝出24位的密鑰。
<?php class DesEdeCbc { private $cipher, $key, $iv; /** * DesEdeCbc constructor. * @param $cipher * @param $key * @param $iv */ public function __construct($cipher, $key, $iv) { $this->cipher = $cipher; $this->key= $this->getFormatKey($key); $this->iv = $iv; } /** * @func 加密 * @param $msg * @return string */ public function encrypt($msg) { $des = @openssl_encrypt($msg, $this->cipher, $this->key, OPENSSL_RAW_DATA, $this->iv); return base64_encode($des); } /** * @func 解密 * @param $msg * @return string */ public function decrypt($msg) { return @openssl_decrypt(base64_decode($msg), $this->cipher, $this->key, OPENSSL_RAW_DATA, $this->iv); } /** * @func 生成24位長度的key * @param $skey * @return bool|string */ private function getFormatKey($skey) { $md5Value= md5($skey); $md5ValueLen = strlen($md5Value); $key = $md5Value . substr($md5Value, 0, $md5ValueLen / 2); return hex2bin($key); } } $cipher = 'DES-EDE-CBC'; $msg = 'HelloWorld'; $key = '12345678'; $iv = "\x00\x00\x00\x00\x00\x00\x00\x00"; $des = new DesEdeCbc($cipher, $key, $iv); // 加密 $msg = $des->encrypt($msg); echo '加密后: ' . $msg . PHP_EOL; // 解密 $src = $des->decrypt($msg); echo '解密后: ' . $src . PHP_EOL;
可以根據(jù)實際情況調(diào)整加密方式、key的填充方式、及iv向量來滿足不同的需求。
php的框架:1、Laravel,Laravel是一款免費并且開源的PHP應(yīng)用框架。2、Phalcon,Phalcon是運行速度最快的一個PHP框架。3、Symfony,Symfony是一款為Web項目準(zhǔn)備的PHP框架。4、Yii,Yii是一款快速、安全和專業(yè)的PHP框架。5、CodeIgniter,CodeIgniter是一款非常敏捷的開源PHP框架。6、CakePHP,CakePHP是一款老牌的PHP框架。7.Kohana,Kohana是一款敏捷但是功能強大的PHP框架。
以上是“PHP7中使用“DES-EDE-CBC”加解密的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:PHP7中使用“DES-EDE-CBC”加解密的方法
標(biāo)題URL:http://m.newbst.com/article6/jegeog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、建站公司、動態(tài)網(wǎng)站、云服務(wù)器、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)