Fingerprint()

Syntaxe

Resultat$ = Fingerprint(*Tampon, Taille, Plugin [, Bits [, CleHmac$ [,FormatCleHmac]]])
Description
Renvoie l'empreinte des données contenues dans un tampon.

Arguments

*Tampon Le tampon contenant les données.
Taille La taille du tampon.
Plugin Le plugin à utiliser. Peut être l'une des valeurs suivantes:
  #PB_Cipher_CRC32: utilise l'algorithme CRC32. UseCRC32Fingerprint() doit être appelé avant pour utiliser le plugin.
  #PB_Cipher_MD5  : utilise l'algorithme MD5.   UseMD5Fingerprint() doit être appelé avant pour utiliser le plugin.
  #PB_Cipher_SHA1 : utilise l'algorithme SHA1.  UseSHA1Fingerprint() doit être appelé avant pour utiliser le plugin.
  #PB_Cipher_SHA2 : utilise l'algorithme SHA2.  UseSHA2Fingerprint() doit être appelé avant pour utiliser le plugin.
  #PB_Cipher_SHA3 : utilise l'algorithme SHA3.  UseSHA3Fingerprint() doit être appelé avant pour utiliser le plugin.
Le plugin à utiliser peut être combiné avec l'indicateur #PB_Cipher_HMAC pour calculer un HMAC (code d'authentification de message basé sur le hachage) au lieu d'une empreinte digitale normale. Dans ce cas, le paramètre "CleHmac$" est également nécessaire.
Voir StringFingerprint() pour un exemple d'utilisation de l'indicateur HMAC.
Bits (optionnel) Le nombre de bits à utiliser pour l'empreinte. Supporté seulement avec les plugins suivants:
  #PB_Cipher_SHA2 : peut être 224, 256 (par defaut), 384 ou 512.
  #PB_Cipher_SHA3 : peut être 224, 256 (par defaut), 384 or 512.
CleHmac$ (optionnel) La clé secrète à utiliser dans le calcul HMAC.

Ce paramètre n'est utilisé que si le #PB_Cipher_HMAC est ajouté au paramètre du plugin.
FormatCleHmac (optionnel) Le format de chaîne à utiliser pour la clé HMAC. Il peut s'agir de l'une des valeurs suivantes :
  #PB_Ascii  : Encoder la clé en ASCII
  #PB_UTF8   : Encoder la clé en UTF-8 (par défaut).
  #PB_Unicode: Encoder la clé en Unicode

Valeur de retour

Renvoie l'empreinte sous forme d'une chaîne de caractères hexadécimale.

Exemple: (Une chaîne en tant que tampon mémoire)

  UseMD5Fingerprint()
  test.s = "Ceci est un test avec une chaîne!"
  Debug Fingerprint(@test, Len(test), #PB_Cipher_MD5)

Exemple: (Avec un tampon mémoire)

  UseMD5Fingerprint()

  *Buffer = AllocateMemory(500)    
  If *Buffer
    PokeS(*Buffer, "Le renard brun rapide saute sur le chien paresseux.", -1, #PB_Ascii)
    MD5$ = Fingerprint(*Buffer, MemoryStringLength(*Buffer, #PB_Ascii), #PB_Cipher_MD5)
    Debug "MD5 Fingerprint = " + MD5$
    FreeMemory(*Buffer)  ; sera libéré aussi à la fin du programme automatiquement
  EndIf

Voir aussi

FileFingerprint(), StartFingerprint(), StringFingerprint()

OS Supportés

Tous

<- FileFingerprint() - Cipher Index - FinishCipher() ->