StartFingerprint()
Syntaxe
Resultat = StartFingerprint(#Fingerprint, Plugin [, Bits])Description
Initialise le calcul d'une empreinte en plusieurs étapes.
Contrairement à la commande Fingerprint(), elle permet de calculer l'empreinte de grandes quantités de données sans avoir à charger le tout dans un tampon de mémoire continue.
Arguments
#Fingerprint L'identifiant de ce calcul de type 'checksum'.
#PB_Any peut est utilisé pour générer automatiquement ce nombre.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.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.
Valeur de retour
Renvoie la valeur #FingerPrint si #PB_Any a été utilisé pour ce paramètre.
Remarques
AddFingerprintBuffer() permet d'ajouter des blocs de données au calcul et FinishFingerprint() le terminera et renverra le résultat.
Exemple
UseMD5Fingerprint() *Buffer = AllocateMemory(200) ; Prépare un tampon de données If *Buffer PokeS(*Buffer, "Le renard brun rapide saute sur le chien paresseux.", -1, #PB_Ascii) Taille = MemoryStringLength(*Buffer, #PB_Ascii) If StartFingerprint(0, #PB_Cipher_MD5) ; démarre le calcul AddFingerprintBuffer(0, *Buffer, Taille/2) ; calcule la partie 1 AddFingerprintBuffer(0, *Buffer+Taille/2, Taille/2) ; calcule la partie 2 MD5$ = FinishFingerprint(0) ; termine le calcul Debug "MD5 checksum = " + MD5$ MD5$ = Fingerprint(*Buffer, Length, #PB_Cipher_MD5) ; comparaison avec le calcul en une seule étape Debug "MD5 checksum = " + MD5$ EndIf FreeMemory(*Buffer) EndIf
Voir aussi
Fingerprint(), FileFingerprint(), StringFingerprint()
OS Supportés
Tous