Entschlüsselt Daten

# openssl_decrypt

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

openssl_decrypt — Entschlü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

- openssl_encrypt() - Verschlüsselt Daten

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open