To encrypt and decrypt data in PHP, you can use the openssl_encrypt and openssl_decrypt functions. Here's a simple example:
<?php
function encryptData($data, $key, $iv) {
$cipher = "aes-256-cbc";
$options = 0;
$encrypted = openssl_encrypt($data, $cipher, $key, $options, $iv);
return $encrypted;
}
function decryptData($data, $key, $iv) {
$cipher = "aes-256-cbc";
$options = 0;
$decrypted = openssl_decrypt($data, $cipher, $key, $options, $iv);
return $decrypted;
}
// Example usage
$key = "your_secret_key"; // Replace with a strong, secret key
$iv = openssl_random_pseudo_bytes(16); // Initialization Vector (IV)
// Data to be encrypted
$originalData = "Hello, this is a secret message.";
// Encrypt the data
$encryptedData = encryptData($originalData, $key, $iv);
echo "Encrypted: " . $encryptedData . "<br>";
// Decrypt the data
$decryptedData = decryptData($encryptedData, $key, $iv);
echo "Decrypted: " . $decryptedData . "<br>";
?>
Remember to replace "your_secret_key" with a strong and secret key. The $iv (Initialization Vector) is a random value used to ensure that the same plaintext encrypted with the same key will produce different ciphertexts.
This is a basic example, and in a production environment, you should handle key management securely, possibly using a dedicated key management service. Also, consider using authenticated encryption for better security.

