JAVA與PHP之間的openssl交互加密

最近在做rsa加密,通過java生成的公私密鑰,然後在php端接受處理。

在本地wamp環境下,我使用的是php5.6.19版本,開啓openssl模塊,通過公鑰生成註冊碼,毫無問題。

在上傳到linux服務器,環境是php5.5.8,開啓openssl模塊,一直報公鑰key是無效的,一頓百度,沒有頭緒。

最後在linux中,修改代碼


$public_key = "這是java傳過來的經過base64編碼的公鑰(一般是M字頭的)";
$pem = chunk_split($public_key,64,"\n");//轉換爲pem格式的公鑰
$pem = "-----BEGIN PUBLIC KEY-----\n".$pem."-----END PUBLIC KEY-----\n";
$puKey = openssl_pkey_get_public($pem);//獲取公鑰內容


發現在運行代碼時是正確的。

密鑰完全沒有變化,經過檢查本地openssl版本是2016年的,服務器上openssl版本是2013年的,猜測大概是新版本有所更新,解決了換行問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章