How can internal emails be encrypted and decrypted in a PHP community to protect privacy?

To encrypt and decrypt internal emails in a PHP community to protect privacy, you can use symmetric encryption with a shared secret key. This key should be securely stored and only accessible to authorized users. When sending an email, encrypt the message using the key. When receiving an email, decrypt the message using the same key.

// Generate a shared secret key (should be securely stored)
$secretKey = "mySecretKey";

// Encrypt a message
function encryptMessage($message, $key) {
    return openssl_encrypt($message, 'aes-256-cbc', $key, 0, substr($key, 0, 16));
}

// Decrypt a message
function decryptMessage($encryptedMessage, $key) {
    return openssl_decrypt($encryptedMessage, 'aes-256-cbc', $key, 0, substr($key, 0, 16));
}

// Example usage
$message = "Hello, this is a confidential message.";
$encryptedMessage = encryptMessage($message, $secretKey);
echo "Encrypted message: " . $encryptedMessage . "\n";

$decryptedMessage = decryptMessage($encryptedMessage, $secretKey);
echo "Decrypted message: " . $decryptedMessage . "\n";