Are there any specific PHP functions or libraries recommended for implementing secure encryption and decryption processes?

When implementing secure encryption and decryption processes in PHP, it is recommended to use the OpenSSL extension for handling cryptographic operations. The OpenSSL extension provides functions for encryption, decryption, hashing, and more, making it a versatile and secure choice for handling sensitive data.

// Encrypt data using OpenSSL
function encryptData($data, $key) {
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    $encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, 0, $iv);
    return base64_encode($iv . $encrypted);
}

// Decrypt data using OpenSSL
function decryptData($data, $key) {
    $data = base64_decode($data);
    $ivLength = openssl_cipher_iv_length('aes-256-cbc');
    $iv = substr($data, 0, $ivLength);
    $encrypted = substr($data, $ivLength);
    return openssl_decrypt($encrypted, 'aes-256-cbc', $key, 0, $iv);
}

// Example usage
$key = 'your_secret_key';
$data = 'Sensitive data to encrypt';
$encryptedData = encryptData($data, $key);
echo "Encrypted data: " . $encryptedData . "\n";
$decryptedData = decryptData($encryptedData, $key);
echo "Decrypted data: " . $decryptedData . "\n";