Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Generer digest
|
Generer digest ( param ; algorithme {; *} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
param | BLOB, Variable texte |
![]() |
Blob ou texte pour lequel obtenir une clé digest | |||||
algorithme | Entier long |
![]() |
Algorithme utilisé pour retourner la clé : 0 = Digest MD5, 1 = Digest SHA1, 2 = Digest 4D, 3 = Digest SHA-256, 4 = Digest SHA-512 |
|||||
* | Opérateur |
![]() |
Crypter digest en Base64URL | |||||
Résultat | Texte |
![]() |
Valeur de la clé digest | |||||
La commande Generer digest retourne la clé digest d’un BLOB ou d’un texte après application d’un algorithme de cryptage.
Passez dans le paramètre algorithme une valeur désignant la fonction de hachage à employer. Vous pouvez utiliser l’une des constantes suivantes, placées dans le thème Type digest :
Constante | Type | Valeur | Comment |
_o_Digest 4D REST | Entier long | 2 | *** Constante obsolète *** |
Digest MD5 | Entier long | 0 | Algorithme Message Digest 5. Séquence de 128 bits retournée en tant que chaîne de 32 caractères hexadécimaux. |
Digest SHA1 | Entier long | 1 | Algorithme Secure Hash 1. Séquence de 160 bits retournée en tant que chaîne de 40 caractères hexadécimaux. |
Digest SHA256 | Entier long | 3 | Famille SHA-2. Séquence de 256 bits retournée en tant que chaîne de 64 caractères hexadécimaux. |
Digest SHA512 | Entier long | 4 | Famille SHA-2. Séquence de 512 bits retournée en tant que chaîne de 128 caractères hexadécimaux. |
Note : Il est fortement déconseillé d'utiliser les algorithmes MD5 ou SHA pour gérer les mots de passe ; si vous souhaitez vérifier des mots de passe, nous recommandons l'utilisation des commandes Generer hash mot de passe et Verifier hash mot de passe.
Par défaut, si le paramètre * est omis, la digest retournée est cyptée en hexadécimal. Passez le paramètre * si vous souhaitez qu'elle soit chiffrée en Base64URL.
La valeur retournée pour un même objet sera identique sur toutes les plates-formes (macOS/Windows). Le calcul est effectué à partir de la représentation en UTF8 du texte passé en paramètre.
Note : Si vous utilisez la commande avec un texte/BLOB vide, elle ne retournera pas void mais une chaîne (par exemple "d41d8cd98f00b204e9800998ecf8427e" pour le MD5.
Cet exemple vous permet de comparer deux images à l’aide de l’algorithme MD5 :
C_IMAGE($vPict1;$vPict2)
C_BLOB($FirstBlob;$SecondBlob)
LIRE FICHIER IMAGE("c:\\myPhotos\\photo1.png")
Si(OK=1)
LIRE FICHIER IMAGE("c:\\myPhotos\\photo2.png")
Si(OK=1)
IMAGE VERS BLOB($vPict1;$FirstBlob;".png")
IMAGE VERS BLOB($vPict2;$SecondBlob;".png")
$MD5_1:=Generer digest($FirstBlob;Digest MD5)
$MD5_2:=Generer digest($SecondBlob;Digest MD5)
Si($MD5_1#$MD5_2)
ALERTE("Ces deux images sont différentes.")
Sinon
ALERTE("Ces deux images sont identiques.")
Fin de si
Fin de si
Fin de si
Ces exemples illustrent comment récupérer la clé digest d’un texte :
$key1:=Generer digest("The quick brown fox jumps over the lazy dog.";Digest MD5)
// $key1 vaut "e4d909c290d0fb1ca068ffaddf22cbd0"
$key2:=Generer digest("The quick brown fox jumps over the lazy dog.";Digest SHA1)
// $key2 vaut "408d94384216f890ff7a0c3528e8bed1e0b01621"
DECODER BASE64
ENCODER BASE64
Generer hash mot de passe
Protocole sécurisé
WEB Valider digest
Produit : 4D
Thème : Outils
Numéro :
1147
Nom intl. : Generate digest
Créé : 4D v13
Modifié : 4D v14
Modifié : 4D v16 R5
Modifié : 4D v18 R4
4D - Langage ( 4D v20 R7)