openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decryptEntschlüsselt Daten

Beschreibung

function openssl_decrypt(
    string $data,
    string $cipher_algo,
    #[\SensitiveParameter] string $passphrase,
    int $options = 0,
    string $iv = "",
    ?string $tag = null,
    string $aad = ""
): string|false

Entschlüsselt eine unbearbeitete oder base64-kodierte Zeichenkette mit der angegebenen Methode und der angegebenen Passphrase.

Parameter-Liste

data

Die zu entschlüsselnde verschlüsselte Nachricht.

cipher_algo

Die Verschlüsselungsmethode. openssl_get_cipher_methods() liefert eine Liste der verfügbaren Verschlüsselungsmethoden.

passphrase

Die Passphrase. Ist die Passphrase kürzer als erwartet, wird sie stillschweigend mit NUL-Zeichen aufgefüllt; ist die Passphrase länger als erwartet, wird sie stillschweigend abgeschnitten.

Achtung

Für passphrase wird keine Funktion zur Ableitung eines Schlüssels verwendet, wie der Name vielleicht vermuten lässt. Die einzige Operation, die verwendet wird, ist das Auffüllen mit NUL-Zeichen oder das Abschneiden, wenn die Länge anders ist als erwartet.

options

options kann einer der Werte OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING oder OPENSSL_DONT_ZERO_PAD_KEY sein.

iv

Der Initialisierungsvektor (darf nicht null sein). Ist der IV kürzer als erwartet, wird er mit NUL-Zeichen aufgefüllt und eine Warnung ausgegeben; ist die Passphrase länger als erwartet, wird sie abgeschnitten und eine Warnung ausgegeben.

tag

Das Authentifizierungskennzeichen im AEAD-Verschlüsselungsmodus. Ist es falsch, schlägt die Authentifizierung fehl und die Funktion gibt false zurück.

Achtung

Die Länge des Parameters tag wird von der Funktion nicht überprüft. Es liegt in der Verantwortung des Aufrufers sicherzustellen, dass die Länge des Kennzeichens mit der Länge des Kennzeichens übereinstimmt, das beim Aufruf von openssl_encrypt() zurückgegeben wurde. Andernfalls kann die Entschlüsselung auch dann erfolgreich sein, wenn das übergebene Kennzeichen nur dem Anfang des korrekten Kennzeichens entspricht.

aad

Zusätzliche authentifizierte Daten.

Rückgabewerte

Gibt bei Erfolg die entschlüsselte Zeichenkette zurück, Bei einem Fehler wird false zurückgegeben..

Fehler/Exceptions

Gibt einen Fehler der Stufe E_WARNING aus, wenn eine unbekannte Verschlüsselungsmethode über den Parameter cipher_algo übergeben wird.

Gibt einen Fehler der Stufe E_WARNING aus, wenn eine leere Zeichenkette über den Parameter iv übergeben wird.

Changelog

Version Beschreibung
8.1.0 Der Parameter tag ist nun nullable.
7.1.0 Die Parameter tag und aad wurden hinzugefügt.

Siehe auch