What is the purpose of using md5() in PHP for text encryption and why is it not recommended for decryption?

Using md5() in PHP is not recommended for text encryption because it is a one-way hashing function, meaning it is designed to convert input data into a fixed-size string of characters, making it impossible to decrypt the hashed value back to its original form. If you need to encrypt and decrypt text in PHP, it is recommended to use more secure encryption algorithms like AES.

// Encrypt and decrypt text using AES encryption in PHP

// Encryption function
function encryptText($text, $key) {
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-256-cbc'));
    $encrypted = openssl_encrypt($text, 'aes-256-cbc', $key, 0, $iv);
    return base64_encode($iv . $encrypted);
}

// Decryption function
function decryptText($encrypted, $key) {
    $data = base64_decode($encrypted);
    $iv = substr($data, 0, openssl_cipher_iv_length('aes-256-cbc'));
    $decrypted = openssl_decrypt(substr($data, openssl_cipher_iv_length('aes-256-cbc')), 'aes-256-cbc', $key, 0, $iv);
    return $decrypted;
}

// Usage
$key = 'secretkey';
$text = 'Hello, world!';
$encryptedText = encryptText($text, $key);
echo "Encrypted text: $encryptedText\n";
$decryptedText = decryptText($encryptedText, $key);
echo "Decrypted text: $decryptedText\n";