Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

MD5

Renvoie l'empreinte MD5 d'une chaîne de caractères sous la forme de 32 caractères hexadécimaux en minuscules. Disponible à partir de StackQL v1.0.

Voir aussi :
[SELECT] [ Concaténation ]


Syntaxe​

SELECT MD5(expression) FROM <multipartIdentifier>;

Arguments​

expression
Une chaîne, ou une valeur convertie en texte. Un argument NULL renvoie NULL.

Valeur(s) renvoyée(s)​

Renvoie une chaîne hexadécimale de 32 caractères en minuscules.

MD5 est fournie pour la prise d'empreinte et la détection de changements. Ce n'est pas une primitive de sécurité ni de gestion des mots de passe. Sur le backend PostgreSQL, c'est la fonction md5 propre à la base de données qui est utilisée.


Exemples​

Calculer l'empreinte d'une valeur dérivée​

Les variables sont substituées sous forme de valeurs typées, l'entier est converti en texte et joint au suffixe, et l'empreinte est calculée sur le résultat mis en minuscules. Les mêmes entrées produisent toujours la même chaîne hexadécimale de 32 caractères, si bien que la valeur peut servir de clé stable.

SET some_id = 42;
SET suffix = 'East';

SELECT md5(lower(CONVERT($some_id, TEXT) || '-' || $suffix)) AS digest;

Détecter les changements de configuration​

Le hachage d'une colonne JSON sérialisée donne une valeur courte à stocker et à comparer d'une exécution à l'autre. Un bucket dont l'empreinte diffère de celle de la dernière exécution a une configuration IAM modifiée, sans qu'il soit nécessaire de stocker ou de comparer le document entier.

SELECT name, md5(json_extract(iamConfiguration, '$')) AS iam_digest
FROM google.storage.buckets
WHERE project = 'stackql-demo';