(PHP 5 >= 5.3.0, PHP 7, PHP 8)
openssl_decrypt — Déchiffre les données
$data,$cipher_algo,$passphrase,$options = 0,$iv = "",$tag = null,$aad = ""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.
dataLe message chiffré à déchiffrer.
cipher_algoL'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.
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.
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.
aadDonnées supplémentaires authentifiées.
La chaîne déchiffrée en cas de succès ou false si une erreur survient.
É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.
| Version | Description |
|---|---|
| 8.1.0 | tag est désormais nullable. |
| 7.1.0 | Les paramètres tag et aad ont été ajoutés. |