Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
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 |
Digest 4D | Entier long | 2 | Algorithme interne utilisé par 4D pour crypter les mots de passe des utilisateurs. L'utilisation de cet algorithme est particulièrement utile dans le cadre de la Méthode base Sur authentification REST lorsque vous souhaitez exploiter votre propre liste d'utilisateurs. |
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"
Cet exemple n’accepte que l’utilisateur "admin" avec le mot de passe "123" ne correspondant pas à un utilisateur 4D :
//Méthode base sur authentification REST
C_TEXTE($1;$2)
C_BOOLEEN($0;$3)
//$1 : utilisateur
//$2 : mot de passe
//$3 : mode digest
Si($1="admin")
Si($3)
$0:=($2=Generer digest("123";Digest 4D))
Sinon
$0:=($2="123")
Fin de si
Sinon
$0:=Faux
Fin de si
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 v19.7)
4D - Langage ( 4D v19.8)