PHP-PSA加密解密-公鑰私鑰創(chuàng)建

linux創(chuàng)建公鑰私鑰

生成私鑰文件: openssl genrsa-outrsa_private_key.pem1024? ? //512 1024 2048

利用私鑰,生成公鑰:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

php創(chuàng)建公鑰私鑰

$config= array(

??//"digest_alg" => "sha512",

??"private_key_bits"=> 512,?????????? //字節(jié)數(shù)? 512 1024 2048? 4096 等

??"private_key_type"=> OPENSSL_KEYTYPE_RSA,?? //加密類型

);

//1.創(chuàng)建公鑰和私鑰? 返回資源

$res= openssl_pkey_new($config);

//從得到的資源中獲取私鑰? 并把私鑰賦給$privKey

openssl_pkey_export($res, $privKey);

//從得到的資源中獲取私鑰? 并把私鑰賦給$pubKey

$pubKey= openssl_pkey_get_details($res);

$pubKey= $pubKey["key"];

var_dump(array('privKey'=>$privKey,'pubKey'=>$pubKey));

die;

psa加密解密

加密解密數(shù)據(jù) 要加密的數(shù)據(jù)

$data= '123123123';? ? ? ? ? ??

//對(duì)$data進(jìn)行加密 要加密的數(shù)據(jù)字符串 得到加密后的數(shù)據(jù) 加密所需要的公鑰

openssl_public_encrypt($data, $encrypted, $pubKey);//需要加密的數(shù)據(jù),加密后的數(shù)據(jù),加密秘鑰

echo base64_encode($encrypted);

//對(duì)加密后的數(shù)據(jù)進(jìn)行解密 解密的數(shù)據(jù) 得到解密后的數(shù)據(jù) 解密所需要的私鑰

$decrypted= base64_decode($encrypted);

openssl_private_decrypt($encrypted, $decrypted, $privKey);//需要解密的數(shù)據(jù),解密后的數(shù)據(jù),解密秘鑰

echo $decrypted;?

備注:

openssl_private_encrypt? ? //私鑰加密

openssl_public_decrypt? ? //公鑰解密

openssl_public_encrypt? ? //公鑰加密

openssl_private_decrypt? ? //私鑰解密

openssl_pkey_get_public //檢查公鑰是否可用

openssl_pkey_get_private //檢查私鑰是否可用

生成公鑰私鑰網(wǎng)址?http://web.chacuo.net/netrsakeypair

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容