當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。