What are some best practices for securely handling and storing encrypted strings in PHP applications?

When handling encrypted strings in PHP applications, it is important to follow best practices to ensure the security of sensitive data. One common approach is to use a secure encryption algorithm like AES and securely store encryption keys. Additionally, it is recommended to use a secure method to store and retrieve encrypted strings, such as using environment variables or a secure configuration file.

// Encrypting a string using AES encryption
$key = 'your_secret_key';
$input = 'Sensitive data to encrypt';
$method = 'AES-256-CBC';
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method));

$encrypted = openssl_encrypt($input, $method, $key, 0, $iv);

// Storing the encrypted string securely
// For example, storing in an environment variable
putenv("ENCRYPTED_STRING=$encrypted");

// Retrieving the encrypted string securely
$encrypted = getenv("ENCRYPTED_STRING");

// Decrypting the encrypted string
$decrypted = openssl_decrypt($encrypted, $method, $key, 0, $iv);
echo $decrypted;