PHP中OpenSSL加密問(wèn)題整理
最近公司項(xiàng)目中有需要用到OpenSSL的加密和java端進(jìn)行接口驗(yàn)證,再測(cè)試環(huán)境升級(jí)到PHP7的時(shí)候加密會(huì)出現(xiàn)錯(cuò)誤,后來(lái)多方面檢查終于找到原因所在:
PHP7環(huán)境下把openssl_get_privatekey方法換成openssl_pkey_get_private
需要轉(zhuǎn)換一下秘鑰,window環(huán)境和Linux環(huán)境下的秘鑰格式有區(qū)別(暫時(shí)不確定是不是操作系統(tǒng)的關(guān)系)
PHP的秘鑰驗(yàn)證需要加上頭尾。
這里貼上附屬方法
轉(zhuǎn)換秘鑰格式的方法:
function transJavaRsaKeyToPhpOpenSSL($content) {
if ($content) {
return trim(chunk_split($content, 64, "\n"));
}
return false;
}
加頭尾的方法:
function appendFlags($content, $isPublic = true) {
if ($isPublic) {
return "-----BEGIN PUBLIC KEY-----\n" . $content . "\n-----END PUBLIC KEY-----\n";
}
else {
return "-----BEGIN PRIVATE KEY-----\n" . $content . "\n-----END PRIVATE KEY-----\n";
}
}
以上就是本次遇到OPENSSL加密問(wèn)題的小經(jīng)驗(yàn),大家還有問(wèn)題的話在下方留言討論吧。
- 升級(jí) PHP7.1 后 openssl 解密 mcrypt AES 數(shù)據(jù)不兼容問(wèn)題的處理方法
- PHP7.1中使用openssl替換mcrypt的實(shí)例詳解
- PHP 使用openssl 擴(kuò)展實(shí)現(xiàn)公鑰加密的方法
- php無(wú)需編譯安裝openssl擴(kuò)展的實(shí)現(xiàn)方法
- linux環(huán)境下安裝PHP的OpenSSL擴(kuò)展的方法講解
- php7安裝openssl擴(kuò)展方法
- PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法詳解
- PHP中使用OpenSSL生成證書(shū)及加密解密
- 詳解PHP版本兼容之openssl調(diào)用參數(shù)
相關(guān)文章
php基于ob_start(ob_gzhandler)實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法
這篇文章主要介紹了php基于ob_start('ob_gzhandler')實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能的方法,涉及php中ob_gzip、ob_start等函數(shù)操作緩沖區(qū)及內(nèi)容壓縮相關(guān)技巧,需要的朋友可以參考下2017-02-02
PHP Primary script unknown 解決方法總結(jié)
在本篇文章里小編給大家整理的是關(guān)于PHP Primary script unknown 終極解決方法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們參考學(xué)習(xí)下。2019-08-08
PHP開(kāi)發(fā)的一些注意點(diǎn)總結(jié)
技術(shù)平臺(tái)的不同,導(dǎo)致了實(shí)現(xiàn)方式的不同,同樣是PHP,小公司往往選擇的是WIN平臺(tái)而大公司選擇的是類unix平臺(tái)(Linux,FreeBSD and Other) ,現(xiàn)在就最近這段時(shí)間的學(xué)習(xí),這好乘國(guó)慶長(zhǎng)假這段時(shí)間好好的總結(jié)下的了.2010-10-10
php計(jì)算函數(shù)執(zhí)行時(shí)間的方法
這篇文章主要介紹了php計(jì)算函數(shù)執(zhí)行時(shí)間的方法,以md5函數(shù)加密運(yùn)行時(shí)間為例分析了php計(jì)算函數(shù)運(yùn)行時(shí)間的技巧,需要的朋友可以參考下2015-03-03
PHP輸出XML格式數(shù)據(jù)的方法總結(jié)
這篇文章主要介紹了PHP輸出XML格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式總結(jié)分析了php常用的xml格式數(shù)據(jù)輸出相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
PHP面向?qū)ο髮W(xué)習(xí)之parent::關(guān)鍵字
在PHP中不能定義重名的函數(shù),也包括不能再同一個(gè)類中定義重名的方法,所以也就沒(méi)有方法重載。下面這篇文章主要給大家介紹了PHP面向?qū)ο笾畃arent::關(guān)鍵字的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01

