HashMD5

Calcul de l'empreinte MD5 d'une chaîne d'octets (dépréciée)

Syntaxe

function HashMD5(data: String): String
data: bloc de données dont on veut calculer l'empreinte MD5

Remarques

Cette fonction est dépréciée à partir de la version Qubes 7.0
ATTENTION : Cette fonction est remplacée par HashMD5.HashData dans l'unité System.Crypto.

Les données binaires sont une liste d'octets, fournie sous la forme d'une chaîne de caractères dont le code est compris entre 0 et 255 (caractères ASCII).
NB : le type String stocke une chaîne de caractères encodée en utf-16 (cf. Langage/TypesDeBase). Ainsi, chaque élément d'une chaîne est en fait une paire d'octets.
Pour HashMD5, seul l'octet de poids faible de chaque élément de la chaîne sera pris en compte.

MD5 est un algorithme de hachage asymétrique : il calcule une "empreinte" représentative d'une chaîne d'octets.
Dans la pratique, une telle empreinte permet :

  • d'obtenir une chaîne d'octets représentative des données d'origine mais plus petite (ce qui est notamment utile quand on doit échanger ou stocker des empreintes)
  • de détecter rapidement des modifications dans une chaîne de données (même une petite modification dans la chaîne d'octets se traduit par une empreinte très différente)
  • d'éviter qu'on puisse retrouver les données d'origine à partir de l'empreinte
  • d'éviter qu'on puisse trouver facilement une chaîne d'octets qui ait la même empreinte que celle d'une chaîne donnée

Cette empreinte contient systématiquement 128 bits.
La fonction la renvoie sous la forme d'une chaîne de 32 caractères hexadécimaux.

Exemples

HashMD5(''); // Renvoie 'D41D8CD98F00B204E9800998ECF8427E'
HashMD5(#13#10); // Renvoie '81051BCC2CF1BEDF378224B0A93E2877'
HashMD5('toto'); // Renvoie 'F71DBE52628A3F83A77AB494817525C6'
HashMD5('titi'); // Renvoie '5D933EEF19AEE7DA192608DE61B6C23D'

Classification

Crypto