ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
``` <?php // 公钥地址 $publicKey = file_get_contents('public.pem'); // echo $publicKey; // echo '<br/>'; // 私钥地址 $privateKey = file_get_contents('private.pem'); // echo $privateKey; /** * openssl_public_encrypt - 使用公钥加密数据 * * @param string $data,必填,需要加密的数据 * @param string $crypted,必填,这将保存加密的结果 * @param mixed $key,必填,公钥 *@param [type] $padding,选填,可以是如下值: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING * @return void */ // openssl_public_encrypt( string $data , string &$crypted , mixed $key , int $padding = OPENSSL_PKCS1_PADDING ) /** * openssl_private_decrypt - 使用私钥解密数据 * openssl_private_decrypt() 解密先前通过 openssl_public_encrypt() 函数加密的 data 并将结果保存至decrypted变量中 * * @param string $data,必填,需要解密的数据 * @param string $decrypted,必填,加密后的数据保存位置 * @param mixed $key。必填,key 必须是和用来加密数据所用公钥对应的私钥 * @param [type] $padding,选填,可以是如下值: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING * @return void */ // openssl_private_decrypt( string $data , string &$decrypted , mixed $key, int $padding = OPENSSL_PKCS1_PADDING) $data = base64_encode('测试'); $res1 = openssl_public_encrypt( $data , $crypted , $publicKey, OPENSSL_PKCS1_PADDING ); if(!$res1) { echo '加密失败!'; exit; } echo $crypted.'<hr/>'; $res2 = openssl_private_decrypt( $crypted , $decrypted , $privateKey, OPENSSL_PKCS1_PADDING ); if(!$res2) { echo '解密失败!'; exit; } echo base64_decode($decrypted); ```