溫馨提示×

php中openssl的用法是什么

小億
109
2024-03-02 16:27:24
欄目: 云計算

在PHP中,OpenSSL庫提供了一組函數來執行加密和解密操作、生成數字證書以及驗證簽名等功能。以下是一些常見的OpenSSL函數用法示例:

  1. 生成RSA密鑰對:
$keypair = openssl_pkey_new(array(
    'private_key_bits' => 2048,
    'private_key_type' => OPENSSL_KEYTYPE_RSA,
));
openssl_pkey_export($keypair, $privateKey);
$publicKey = openssl_pkey_get_details($keypair)['key'];
  1. 加密和解密數據:
$data = 'Hello, World!';
$encrypted = '';
openssl_public_encrypt($data, $encrypted, $publicKey);
$decrypted = '';
openssl_private_decrypt($encrypted, $decrypted, $privateKey);
echo $decrypted; // Output: Hello, World!
  1. 生成數字簽名和驗證簽名:
$data = 'Hello, World!';
$signature = '';
openssl_sign($data, $signature, $privateKey, OPENSSL_ALGO_SHA256);
$verified = openssl_verify($data, $signature, $publicKey, OPENSSL_ALGO_SHA256);
echo $verified; // Output: 1 (verified)
  1. 生成自簽名證書:
$dn = array(
    'countryName' => 'US',
    'organizationName' => 'Example Company',
    'commonName' => 'example.com',
);
$csr = openssl_csr_new($dn, $privateKey);
$cert = openssl_csr_sign($csr, null, $privateKey, 365);
openssl_x509_export($cert, $certout);
echo $certout;

這些示例展示了一些常見的OpenSSL函數用法,您可以根據具體的需求選擇合適的函數來實現您的加密、簽名和證書生成等功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女