openssl_decrypt
PHP Manual
PHP Manual»Fonctions OpenSSL»openssl_decrypt

openssl_decrypt

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

openssl_decrypt — Déchiffre les données

Description

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

Prend une chaîne brute ou base64 encodée et la déchiffre en utilisant la méthode et la phrase de passe passées.

Liste de paramètres

data

Le message chiffré à déchiffrer.

cipher_algo

L'algorithme de chiffrement. Pour la liste des algorithmes de chiffrement disponible, utiliser openssl_get_cipher_methods().

passphrase

La phrase de passe. Si la phrase de passe est plus courte que prévu, elle est silencieusement complétée avec des caractères NUL ; si la phrase de passe est plus longue que prévu, elle est silencieusement tronquée.

Attention

Il n'y a pas de fonction de dérivation de clé utilisée pour le paramètre passphrase comme son nom pourrait le suggérer. La seule opération utilisée est le remplissage avec des caractères NUL ou la troncature si la longueur est différente de celle attendue.

options

options est une disjonction au niveau des bits des drapeaux OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING et OPENSSL_DONT_ZERO_PAD_KEY.

Lorsque OPENSSL_RAW_DATA est définie, data est attendu sous forme de données chiffrées en binaire brut. Lorsqu'il n'est pas défini, data est attendu encodé en base64.

iv

Un vecteur d'initialisation non-null. Si le VI est plus court que prévu, il est complété avec des caractères NUL et un avertissement est émis ; si le VI est plus long que prévu, il est tronqué et un avertissement est émis.

tag

La balise d'authentification en mode de chiffrement AEAD. Si elle est incorrecte, l'authentification échoue et la fonction retourne false.

Attention

La longueur de tag n'est pas vérifiée par la fonction. C'est la responsabilité de l'appelant de s'assurer que la longueur du tag correspond à la longueur du tag reçu quand openssl_encrypt() a été appelée. Sinon, le déchiffrement peut réussir si le début du tag donné correspond au début du vrai tag.

aad

Données supplémentaires authentifiées.

Valeurs de retour

La chaîne déchiffrée en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

Émet une erreur de niveau E_WARNING si un algorithme cipher inconnu est passé via cipher_algo.

Émet une erreur de niveau E_WARNING si une valeur vide est passée comme paramètre iv.

Historique

Version Description
8.1.0 tag est désormais nullable.
7.1.0 Les paramètres tag et aad ont été ajoutés.

Voir aussi

To Top