How can asymmetric encryption be implemented in PHP to enhance data security and prevent unauthorized access?

To implement asymmetric encryption in PHP for data security, you can use the OpenSSL extension. This allows you to generate public and private key pairs, encrypt data with the public key, and decrypt it with the private key. By using asymmetric encryption, you can enhance security and prevent unauthorized access to sensitive information.

// Generate key pair
$config = array(
    "digest_alg" => "sha512",
    "private_key_bits" => 4096,
    "private_key_type" => OPENSSL_KEYTYPE_RSA,
);

$resource = openssl_pkey_new($config);
openssl_pkey_export($resource, $privateKey);

$publicKey = openssl_pkey_get_details($resource)['key'];

// Encrypt data with public key
$data = "Sensitive information";
openssl_public_encrypt($data, $encrypted, $publicKey);

// Decrypt data with private key
openssl_private_decrypt($encrypted, $decrypted, $privateKey);

echo $decrypted;