PHP openssl_pkey_new OpenSSL 函数

  • 定义和用法

    openssl_pkey_new - 生成一个新的私钥
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    7.1.0 添加了 curve_name 配置参数使得可以创建 EC 密钥。
  • 语法

    openssl_pkey_new( [ array $configargs ] )
    openssl_pkey_new() 生成一个新的私钥和公钥对。通过 openssl_pkey_get_public() 函数获取该密钥的公共组件。
    注意: 必须安装有效的 openssl.cnf 以保证此函数正确运行。
  • 参数

    参数 必需的 描述
    configargs 你可以使用configargs参数微调密钥的生成(比如指定位数)。查看 openssl_csr_new() 获取更多关于configargs的信息。
  • 返回值

    成功,返回pkey的资源标识符,错误则返回 FALSE 。
  • 示例

    $config = array(
            "digest_alg" => "sha512",
            "private_key_bits" => 4096,
            "private_key_type" => OPENSSL_KEYTYPE_RSA,
    );
    
    // Create the private and public key
    $res = openssl_pkey_new($config);
    
    // Extract the private key from $res to $privKey
    openssl_pkey_export($res, $privKey);
    
    // Extract the public key from $res to $pubKey
    $pubKey = openssl_pkey_get_details($res);
    $pubKey = $pubKey["key"];
    
    $data = 'plaintext data goes here';
    
    // Encrypt the data to $encrypted using the public key
    openssl_public_encrypt($data, $encrypted, $pubKey);
    
    // Decrypt the data using the private key and store the results in $decrypted
    openssl_private_decrypt($encrypted, $decrypted, $privKey);
    
    echo $decrypted;
    
    尝试一下
  • 相关页面

    openssl_get_md_methods() - 获取可用的摘要算法