当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP openssl_pkey_new()用法及代码示例


openssl_pkey_new() 函数是 PHP 加密扩展中的内置函数,用于使用 OpenSSL 库生成新的私钥/公钥对。

用法:

openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false

Parameters: 该函数接受一个参数,如下所述。

  • $options:一组可选的配置选项,可用于自定义 key 生成过程。这可以包括 key 类型、 key 长度和摘要算法等选项。

返回值:返回值openssl_pkey_new()是新的 OpenSSL key 对资源,可与其他 OpenSSL 函数一起使用。该资源代表生成的 key 对的私钥和公钥部分。如果失败,将返回 false。

示例 1:下面的程序演示了openssl_pkey_new()函数。

PHP


<?php 
$config = [ 
    "private_key_bits" => 2048, 
    "private_key_type" => OPENSSL_KEYTYPE_RSA, 
]; 
  
$keypair = openssl_pkey_new($config); 
  
openssl_pkey_export($keypair, $private_key); 
  
$public_key = openssl_pkey_get_details($keypair); 
$public_key = $public_key["key"]; 
  
echo "Private key: " . $private_key . "\n"; 
echo "Public key: " . $public_key . "\n"; 
?>

输出:

Private key: -----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0...
...
...o9NsYUeNhM2eTDd5KnyQA==
-----END PRIVATE KEY-----
Public key: -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQE...
...
...JmQQIDAQABDGSFdgKHJhgER
-----END PUBLIC KEY-----

示例 2:下面的程序演示了openssl_pkey_new()函数。

PHP


<?php 
$config = [ 
    "private_key_bits" => 2048, 
    "private_key_type" => OPENSSL_KEYTYPE_RSA, 
]; 
  
$keypair = openssl_pkey_new($config); 
  
if ($keypair) { 
    openssl_pkey_export($keypair, $private_key); 
    if ($private_key) { 
        echo "Private key successfully exported\n"; 
    } else { 
        echo "Error exporting private key\n"; 
    } 
} else { 
    echo "Error generating key pair\n"; 
} 
?>

输出:

Private key successfully exported

参考:https://www.php.net/manual/en/function.openssl-pkey-new.php



相关用法


注:本文由纯净天空筛选整理自neeraj3304大神的英文原创作品 PHP openssl_pkey_new() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。