Passer au contenu principal
Ces fonctions assurent le chiffrement et le déchiffrement des données à l’aide de l’algorithme AES (Advanced Encryption Standard). La longueur de la clé dépend du mode de chiffrement : 16, 24 et 32 octets pour les modes -128-, -196- et -256-, respectivement. La longueur du vecteur d’initialisation est toujours de 16 octets (les octets au-delà de 16 sont ignorés).

HMAC

Introduit dans : v25.12.0 Calcule le HMAC (code d’authentification de message basé sur une fonction de hachage) du message donné à l’aide de l’algorithme de hachage spécifié et de la clé secrète. Algorithmes de hachage pris en charge :
  • blake2b512
  • blake2s256
  • md4
  • md5
  • md5-sha1
  • mdc2
  • ripemd (alias : RIPEMD160, ripemd)
  • ripemd160
  • rmd160 (alias : RIPEMD160, rmd160)
  • sha1
  • sha224
  • sha256
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • sha384
  • sha512
  • sha512-224
  • sha512-256
  • shake128
  • shake256
  • sm3
  • ssl3-md5 (alias : MD5, ssl3-md5)
  • ssl3-sha1 (alias : SHA1, ssl3-sha1)
  • whirlpool
Syntaxe
Arguments
  • mode — Nom de l’algorithme de hachage (insensible à la casse). Pris en charge : md5, sha1, sha224, sha256, sha384, sha512. String
  • message — Message à authentifier. String
  • key — Clé secrète pour HMAC. String
Valeur renvoyée Renvoie une chaîne binaire contenant l’empreinte HMAC. String Exemples HMAC-SHA256 basique
Query
Response
Différents algorithmes de hachage
Query
Response
Mode insensible à la casse
Query
Response

aes_decrypt_mysql

Introduit dans : v20.12.0 Déchiffre des données chiffrées par la fonction AES_ENCRYPT de MySQL. Produit le même texte en clair que decrypt pour les mêmes entrées. Lorsque key ou iv sont plus longs que la normale, aes_decrypt_mysql s’aligne sur le comportement de aes_decrypt dans MySQL : il « replie » key et ignore les bits excédentaires de IV. Prend en charge les modes de déchiffrement suivants :
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-cfb128
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
Syntaxe
Arguments
  • mode — Mode de déchiffrement. String
  • ciphertext — Texte chiffré à déchiffrer. String
  • key — Clé de déchiffrement. String
  • iv — Facultatif. Vecteur d’initialisation. String
Valeur renvoyée Renvoie la chaîne déchiffrée. String Exemples Déchiffrer des données MySQL
Query
Response

aes_encrypt_mysql

Introduit dans : v20.12.0 Chiffre le texte de la même façon que la fonction AES_ENCRYPT de MySQL. Le texte chiffré obtenu peut être déchiffré avec la fonction AES_DECRYPT de MySQL. Produit le même texte chiffré que la fonction encrypt pour les mêmes entrées. Lorsque key ou iv sont plus longs que prévu, aes_encrypt_mysql reproduit le comportement de aes_encrypt de MySQL : il « replie » key et ignore les bits excédentaires de iv. Les modes de chiffrement pris en charge sont :
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
Syntaxe
Arguments
  • mode — Mode de chiffrement. String
  • plaintext — Texte en clair à chiffrer. String
  • key — Clé de chiffrement. Si la clé est plus longue que nécessaire pour mode, un repliement de clé spécifique à MySQL est appliqué. String
  • iv — Facultatif. Vecteur d’initialisation. Seuls les 16 premiers octets sont pris en compte. String
Valeur renvoyée Chaîne binaire chiffrée. String Exemples Comparaison d’entrées identiques
Query
Response
Le chiffrement échoue avec une clé trop longue
Query
Response
Compatibilité MySQL
Query
Response
Un IV plus long donne le même résultat
Query
Response

decrypt

Introduit dans : v20.12.0 Cette fonction déchiffre une chaîne binaire chiffrée en AES à l’aide des modes suivants :
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
Syntaxe
Arguments
  • mode — Mode de déchiffrement. String
  • ciphertext — Texte chiffré à déchiffrer. String
  • key — Clé de déchiffrement. String
  • iv — Vecteur d’initialisation. Obligatoire pour les modes -gcm, facultatif pour les autres. String
  • aad — Données authentifiées supplémentaires. Le déchiffrement échoue si cette valeur est incorrecte. Fonctionne uniquement avec les modes -gcm ; pour les autres, provoque une exception. String
Valeur renvoyée Renvoie le texte en clair. String Exemples Déchiffrement correct de données chiffrées
Query
Response
Déchiffrement erroné de données chiffrées
Query
Response

encrypt

Introduit dans : v20.12.0 Chiffre le texte en clair en texte chiffré à l’aide d’AES dans l’un des modes suivants :
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
Syntaxe
Arguments
  • mode — Mode de chiffrement. String
  • plaintext — Texte en clair à chiffrer. String
  • key — Clé de chiffrement. String
  • iv — Vecteur d’initialisation. Obligatoire pour les modes -gcm, facultatif pour les autres. String
  • aad — Données authentifiées supplémentaires. Elles ne sont pas chiffrées, mais elles influent sur le déchiffrement. Ne fonctionne qu’avec les modes -gcm ; pour les autres, une exception est levée. String
Valeur renvoyée Renvoie le texte chiffré sous forme de chaîne binaire. String Exemples Exemple de chiffrement
Query
Response
Exemple en mode GCM
Query
Response

tryDecrypt

Introduit dans : v22.10.0 Similaire à la fonction decrypt, mais renvoie NULL si le déchiffrement échoue en cas d’utilisation d’une clé incorrecte. Syntaxe
Arguments
  • mode — Mode de déchiffrement. String
  • ciphertext — Texte chiffré à déchiffrer. String
  • key — Clé de déchiffrement. String
  • iv — Facultatif. Vecteur d’initialisation. Obligatoire pour les modes -gcm, facultatif pour les autres modes. String
  • aad — Facultatif. Données authentifiées supplémentaires. Le déchiffrement échoue si cette valeur est incorrecte. Fonctionne uniquement avec les modes -gcm ; pour les autres modes, génère une exception. String
Valeur renvoyée Renvoie la chaîne déchiffrée, ou NULL si le déchiffrement échoue. Nullable(String) Exemples Créer une table et insérer des données
Query
Response
Dernière modification le 25 juin 2026