PHP 加密解密:公私钥加解密 0 个改进

<?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>';
本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!