| 4D v20.1Generer digest | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20.1
 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 REST | Entier long | 2 | Algorithme interne utilisé par 4D. Cet algorithme est 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 siCes 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 v20)
	
	
	4D - Langage ( 4D v20.1)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire