![]() |
![]() ![]() ![]() |
|
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Functions comprises dans FreeAdhocUDF.dll/.so/.dylib : | ||
Fonctions UUID | 13 fonctions | |
Avertissement | voir
http://fr.wikipedia.org/wiki/UUID |
|
Utilitaires | 6 fonctions | |
Conversions | 2 fonctions | |
Lecture | 5 fonctions | |
![]() |
Depuis FireBird 2.0, au lieu de 0 donne ‘’(vide) ou ’17.11.1858’ <null> | |
Lors
du
RETURN: FREE_IT, sauf indication contraire Les TestSQL avec NULL ne sont opérationnels que sous FireBird 2.0 |
Fonctions UUID: Avertissement | ||
![]() |
||
Remarque (voir http://fr.wikipedia.org/wiki/UUID): Un identifiant unique universel (UUID) est un repère d’identification normalisé utilisé dans le développement de logiciels. La norme émane de l’Open Software Foundation (OSF) comme une partie du Distributed Computing Environment (DCE). L’objectif de L’UUID est de fournir un repère d’identification unique au monde pour les systèmes partagés sans avoir recours à une coordination centrale contraignante. Un UUID est codé sur 16 octets et divisé en 5 groupes de signes. Dans sa forme normalisée, l’UUID apparaît comme suit: 550e8400-e29b-11d4-a716-446655440000 Bien que l’unicité d’un UUID fourni ne soit pas garantie, le clé de 2128 ou 3,4028*1038 est si élevée que la probabilité d’obtenir deux UUID identiques est pratiquement nulle. C’est ainsi que les UUID peuvent être utilisés sans contrôle centralisé et sans risque qu’un UUID représente des applications différentes. Ces données marquées par un UUID peuvent être introduites dans une base de données sans risque de conflit. La forme la plus répandue de la norme UUID est celle de Microsoft: Globally Unique Identifier (GUID). Dans la version originale (Version 1) l’UUID est formé de l’adresse MAC que l’ordinateur génère et du nombre d’intervalles de cent nanosecondes écoulé depuis le début du calendrier grégorien selon l’horloge de l’ordinateur. En pratique l’algorithme est compliqué. Ce schéma a été critiqué car il manque de confidentialité en donnant l’identité de l’ordinateur et la date de création. 5 versions d’UUID sont définies dans la norme RFC4122 1 Basée sur l’horloge de l’ordinateur a avec l’adresse MAC unique selon la norme IEEE 802 b avec une adresse MAC générée par des nombres aléatoires selon la norme IEEE 802 2 Version de sécurité DCE (avec les UIDs de POSIX) 3 Basée sur les espaces de noms (hachage cryptographique MD5) 4 Générée par des nombres aléatoires 5 Basée sur les espaces de noms (hachage cryptographique SHA-1). Seules les versions 1 et 4 permettent de réaliser, par un même algorithme, la décen tralisation de la génération d’un identifiant unique qui soit compatible à la fois avec Windows et Linux. Ce n’est pas le cas des versions 3 et 5, car la garantie d’unicité d’un espace de nom (URL) n’est pas absolue. Comme cela dépend de l’application de savoir si l’identité de l’ordinateur et la date de création peuvent ou non être accessibles, 3 fonctions de génération d’UUID ont été prévues: F_UUID1MAC Version 1 avec adresse MAC réelle Identité de l’ordinateur et date de création décelables F_UUID1RAND Version 1 avec adresse MAC générée par nombres aléatoires Identité de la date de création seule décelable F_UUID4 Version 4 Plus d’identité décelable. Jan Newby est l’auteur d’une UUIDLIB qui met en œuvre la version 1b, mais dans laquelle l’adresse MAC générée est comprimée au lieu d’utiliser le masque pré vu par la norme RFC4122. L’UUID ainsi généré comprend alors 22 caractères au lieu de 36, ce qui donnerait à FireBird / Interbase (?) un gain de vitesse. Nous avons également fait usage de cet algorithme dans les fonctions de conversion, de sorte que pour chacune des trois versions d’UUID générées il y ait une version comprimée disponible (qui corresponde aux caractéristiques de la version de base): F_UUID1MACCOMPR, F_UUID1RANDCOMPR, F_UUID4COMPR. |
||
![]() ![]() |