AES Verschlüsselung mit PHP

Das PHP-Programm verwendet die openssl_encrypt und openssl_decrypt Funktionen, um Daten mit dem AES-256-CBC-Verschlüsselungsalgorithmus zu verarbeiten. Es akzeptiert zunächst den zu verschlüsselnden Klartext “Dies ist eine geheime Nachricht” und einen vordefinierten geheimen Schlüssel sowie einen Initialisierungsvektor (IV) im Binärformat. Des Weiteren werden Optionen für die Verschlüsselung gesetzt, einschließlich OPENSSL_RAW_DATA und OPENSSL_ZERO_PADDING.

Das Programm verschlüsselt den Klartext mithilfe von openssl_encrypt, wobei der geheime Schlüssel, der IV und die festgelegten Optionen berücksichtigt werden. Der resultierende verschlüsselte Text wird dann ausgegeben.

Im Anschluss verwendet das Programm openssl_decrypt, um den verschlüsselten Text unter Verwendung des geheimen Schlüssels, des IV und der gleichen Optionen zu entschlüsseln. Der entschlüsselte Klartext wird ebenfalls ausgegeben.

<?php
// Der Klartext, den Sie verschlüsseln möchten
$klartext = "Dies ist eine geheime Nachricht.";

// Der geheime Schlüssel (genau 32 Bytes)
$schluessel = hex2bin("0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF");

// Initialisierungsvektor (IV) im Binärformat (genau 16 Bytes)
$iv = hex2bin("0123456789ABCDEF0123456789ABCDEF");

// Optionen: OPENSSL_RAW_DATA und OPENSSL_ZERO_PADDING
$options = OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING;

// Verschlüsseln
$geheimtext = openssl_encrypt($klartext, 'aes-256-cbc', $schluessel, $options, $iv);

echo "Verschlüsselter Text: $geheimtext\n";

// Entschlüsseln
$entschluesselter_text = openssl_decrypt($geheimtext, 'aes-256-cbc', $schluessel, $options, $iv);

echo "Entschlüsselter Text: $entschluesselter_text\n";

?>

Siehe auch

https://www.php.net/manual/de/function.openssl-encrypt.php
https://www.php.net/manual/de/function.openssl-decrypt.php
https://www.php.net/manual/de/function.openssl-get-cipher-methods.php