PHP 加密解密:公私钥加解密
<?php
    $config = array(
        "private_key_bits" => 1024,    //字节数    512 1024  2048   4096 等
        "private_key_type" => OPENSSL_KEYTYPE_RSA,     //加密类型
        "config" => "/usr/local/etc/openssl/openssl.cnf"
    );
    // 生成公钥私钥资源 
    $res = openssl_pkey_new($config);
    // 导出公私钥 $priKey
    openssl_pkey_export($res, $priKey,null,$config);
    $pubKey = openssl_pkey_get_details($res);
    $pubKey = $pubKey["key"];
    $fp = fopen('rsa_public_key.pem', "w");
    fwrite($fp, $pubKey);
    fclose($fp);
    $fp = fopen('rsa_private_key.pem', "w");
    fwrite($fp, $priKey);
    fclose($fp);
    //直接测试私钥 公钥
    echo '-------------------公私钥加解密-START---------------------','<br>';
    $data = '测试公私钥加解密成功!';
    // 公钥加密
    openssl_public_encrypt($data, $encrypted, $pubKey);
    // 私钥解密
    openssl_private_decrypt($encrypted, $decrypted, $priKey);
    echo '公钥加密:',base64_encode($encrypted),'私钥解密:','<br>',$decrypted,'<br>';
    echo '-------------------公私钥加解密-END---------------------','<br>'; 
           PHP 社区 Wiki
 PHP 社区 Wiki
     
             
             关于 LearnKu
                关于 LearnKu
               
                     
                     
                     粤公网安备 44030502004330号
 粤公网安备 44030502004330号