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
相關用法
- PHP openssl_pkey_new()用法及代碼示例
- PHP openssl_pkey_get_public()用法及代碼示例
- PHP openssl_pkey_export_to_file()用法及代碼示例
- PHP openssl_pkey_export()用法及代碼示例
- PHP openssl_pkcs12_read()用法及代碼示例
- PHP openssl_pkcs12_export_to_file()用法及代碼示例
- PHP openssl_pkcs12_export()用法及代碼示例
- PHP openssl_private_encrypt()用法及代碼示例
- PHP openssl_public_encrypt()用法及代碼示例
- PHP openssl_public_decrypt()用法及代碼示例
- PHP openssl_private_decrypt()用法及代碼示例
- PHP openssl_pbkdf2()用法及代碼示例
- PHP openssl_get_cipher_methods()用法及代碼示例
- PHP openssl_cipher_iv_length()用法及代碼示例
- PHP openssl_get_cert_locations()用法及代碼示例
- PHP openssl_get_curve_names()用法及代碼示例
- PHP openssl_spki_verify()用法及代碼示例
- PHP openssl_spki_export_challenge()用法及代碼示例
- PHP openssl_digest()用法及代碼示例
- PHP openssl_error_string()用法及代碼示例
- PHP openssl_verify()用法及代碼示例
- PHP openssl_get_md_methods()用法及代碼示例
- PHP openssl_cipher_key_length()用法及代碼示例
- PHP opendir()用法及代碼示例
- PHP octdec()用法及代碼示例
注:本文由純淨天空篩選整理自neeraj3304大神的英文原創作品 PHP openssl_pkey_new() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。