PHP中OpenSSL加密問題整理
最近公司項目中有需要用到OpenSSL的加密和java端進行接口驗證,再測試環(huán)境升級到PHP7的時候加密會出現(xiàn)錯誤,后來多方面檢查終于找到原因所在:
PHP7環(huán)境下把openssl_get_privatekey方法換成openssl_pkey_get_private
需要轉(zhuǎn)換一下秘鑰,window環(huán)境和Linux環(huán)境下的秘鑰格式有區(qū)別(暫時不確定是不是操作系統(tǒng)的關(guān)系)
PHP的秘鑰驗證需要加上頭尾。
這里貼上附屬方法
轉(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加密問題的小經(jīng)驗,大家還有問題的話在下方留言討論吧。
相關(guān)文章
php基于ob_start(ob_gzhandler)實現(xiàn)網(wǎng)頁壓縮功能的方法
這篇文章主要介紹了php基于ob_start('ob_gzhandler')實現(xiàn)網(wǎng)頁壓縮功能的方法,涉及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)知識點,有需要的朋友們參考學(xué)習下。2019-08-08
PHP輸出XML格式數(shù)據(jù)的方法總結(jié)
這篇文章主要介紹了PHP輸出XML格式數(shù)據(jù)的方法,結(jié)合實例形式總結(jié)分析了php常用的xml格式數(shù)據(jù)輸出相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
PHP面向?qū)ο髮W(xué)習之parent::關(guān)鍵字
在PHP中不能定義重名的函數(shù),也包括不能再同一個類中定義重名的方法,所以也就沒有方法重載。下面這篇文章主要給大家介紹了PHP面向?qū)ο笾畃arent::關(guān)鍵字的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01

