GenerateLUID

Qubes 6.0 Génération d'un identifiant localement unique

Syntaxe

function GenerateLUID(): String

Remarques

GenerateLUID génère un identifiant unique lié à la machine et à l'exécutable.

En effet, cet identifiant est composé à partir :

  • de l'heure locale de la machine
  • d'un compteur du nombre de générations dans la même seconde
  • du ProcessID de l'exécutable sur la machine

Si on a moins de 32 appels dans la même seconde, l'identificateur est conçu pour que lorsqu'on trie les LUID par ordre alphabétique, la séquence soit conservée.
Si on a plus de 32 appels dans la même seconde, le compteur du nombre de génération occupera 2 caractères ou plus, ce qui va rompre la séquence lors du tri alphabétique (mais on pourra la retrouver sans difficulté en lisant la chaîne).

L'intérêt de cette fonction est de pouvoir construire une chaîne qui sera un LUID suivi d'un identifiant de la machine, ce qui va permettre de constituer un identifiant globalement unique dans l'environnement Qubes, mais qui conserve une séquence horaire.
Cela permet par exemple de générer des clés primaires de listes externes sans faire appel à un compteur de base de données (donc sans aller/retour vers la base) et de garder la traçabilité de la machine et de la séquence.

Voir aussi GenerateGUID.

Exemples

// Génère un identifiant unique pour l'environnement Qubes
var pk : String = GenerateLUID+'-'+GetEnvironmentVariable('COMPUTERNAME');

Classification

SysUtils