|
|
|
|
HashFichier (Fonction) En anglais : HashFile Calcule le Hash d'un fichier d'après un algorithme défini. Il est possible de calculer : - un hash simple.
- un hash avec authentification de message.
- un hash obtenu par un algorithme de dérivation de clé qui prend en paramètre un sel (PBKDF2).
Rappel : Le hachage permet de réaliser un résumé condensé d'un fichier ou d'une chaîne de caractères. Ce résumé est appelé Hash. Attention : Le résultat peut contenir des caractères non affichables. Si vous souhaitez obtenir une chaîne de caractères contenant les représentations hexadécimales des octets, pour une utilisation dans des contextes tels qu'un affichage ou une API REST ou SOAP, vous pouvez utiliser la fonction BufferVersHexa avec la constante SansRegroupement sur le buffer résultat. Syntaxe
Calculer un hash simple Masquer les détails
<Résultat> = HashFichier(<Type d'algorithme> , <Chemin du fichier> [, <Jauge>])
<Résultat> : Buffer Résultat du hachage du fichier <Chemin du fichier> avec l'algorithme <Type d'algorithme>. <Type d'algorithme> : Constante de type Entier Indique le type d'algorithme utilisé lors du hachage du fichier <Chemin du fichier> :
| | Famille MD4 | HA_MD4
| Famille MD5 | HA_MD5_128 Attention : ce type d'algorithme est actuellement déprécié. | Famille MURMUR | - HA_MURMUR_1 : Algorithme Murmur version 1 : hash résultat sur 32 bits
- HA_MURMUR_2 : Algorithme Murmur version 2 : hash résultat sur 32 bits
- HA_MURMUR_2_64A : Algorithme Murmur version 2 : hash résultat sur 64 bits optimisé pour processeurs 64 bits
- HA_MURMUR_2_64B : Algorithme Murmur version 2 : hash résultat sur 64 bits optimisé pour processeurs 32 bits
- HA_MURMUR_2_A : Algorithme Murmur version 2 incrémentiel : hash résultat sur 32 bits
- HA_MURMUR_2_BIG_ENDIAN : Algorithme Murmur version 2 pour machine big-endian: hash résultat sur 32 bits
- HA_MURMUR_2_ALIGNE : Algorithme Murmur version 2 pour machine alignée : hash résultat sur 32 bits
- HA_MURMUR_3_32 : Algorithme Murmur version 3 : hash résultat sur 32 bits
- HA_MURMUR_3_128_X86 : Algorithme Murmur version 3 : hash résultat sur 128 bits optimisé pour processeur 32 bits
- HA_MURMUR_3_128_X64 : Algorithme Murmur version 3 : hash résultat sur 128 bits optimisé pour processeur 64 bits
| Famille RIPEMD | - HA_RIPEMD_128
- HA_RIPEMD_160
| Famille SHA | - HA_SHA_160 (aussi appelé SHA-1)
- HA_SHA_256 (spécifications FIPS PUB 198)
- HA_SHA_256_DOUBLE
- HA_SHA_384
- HA_SHA_512
| Famille SHA-3 | - HA_SHA3_224
- HA_SHA3_256
- HA_SHA3_384
- HA_SHA3_512
| Famille TIGER | - HA_TIGER_128
- HA_TIGER_160
- HA_TIGER_192
| Famille WHIRLPOOL | HA_WHIRLPOOL | Famille CKSUM | - HA_CKSUM_8
- HA_CKSUM_16
- HA_CKSUM_32
- HA_CKSUM_64
|
- Algorithmes MD4 / MD5 / SHA / RIPEMD : fonctions de hachage cryptographiques classiques.
- Algorithmes TIGER / WHIRLPOOL : fonctions de hachage ayant de très bonnes propriétés cryptographiques optimisées pour le 64 bits (mais leur utilisation est possible en 32 bits).
- Algorithmes CKSUM : fonctions de hachage ne possédant pas de propriété cryptographique, à n'utiliser que pour des contrôles minimaux ou des tables de hachage.
- Algorithme MURMUR : fonctions de hachage très rapides et ne possédant pas de propriétés cryptographiques. C'est l'algorithme utilisé pour le "bloom filter" des portefeuilles bitcoin.
<Chemin du fichier> : Chaîne de caractères Chemin du fichier sur lequel sera effectué le calcul. <Jauge> : Nom de fenêtre optionnel ou nom de champ optionnel
Calculer un hash avec authentification de message (algorithme HMAC/algorithme MURMUR) Masquer les détails
<Résultat> = HashFichier(<Type d'algorithme> , <Chemin du fichier> , <Clé secrète> [, <Jauge>])
<Résultat> : Buffer Résultat du hachage du fichier <Chemin du fichier> avec l'algorithme <Type d'algorithme>.Attention : Ce résultat peut contenir des caractères non affichables. <Type d'algorithme> : Constante de type Entier Indique le type d'algorithme HMAC utilisé lors du hachage du fichier <Chemin du fichier> :
| | Famille MD4 | HA_HMAC_MD4
| Famille MD5 | HA_HMAC_MD5_128 Attention : ce type d'algorithme est actuellement déprécié. | Famille MURMUR | - HA_MURMUR_1 : Algorithme Murmur version 1 : hash résultat sur 32 bits
- HA_MURMUR_2 : Algorithme Murmur version 2 : hash résultat sur 32 bits
- HA_MURMUR_2_64A : Algorithme Murmur version 2 : hash résultat sur 64 bits optimisé pour processeurs 64 bits
- HA_MURMUR_2_64B : Algorithme Murmur version 2 : hash résultat sur 64 bits optimisé pour processeurs 32 bits
- HA_MURMUR_2_A : Algorithme Murmur version 2 incrémentiel : hash résultat sur 32 bits
- HA_MURMUR_2_BIG_ENDIAN : Algorithme Murmur version 2 pour machine big-endian: hash résultat sur 32 bits
- HA_MURMUR_2_ALIGNE : Algorithme Murmur version 2 pour machine alignée : hash résultat sur 32 bits
- HA_MURMUR_3_32 : Algorithme Murmur version 3 : hash résultat sur 32 bits
- HA_MURMUR_3_128_X86 : Algorithme Murmur version 3 : hash résultat sur 128 bits optimisé pour processeur 32 bits
- HA_MURMUR_3_128_X64 : Algorithme Murmur version 3 : hash résultat sur 128 bits optimisé pour processeur 64 bits
| Famille RIPEMD | - HA_HMAC_RIPEMD_128
- HA_HMAC_RIPEMD_160
| Famille SHA | - HA_HMAC_SHA_160
- HA_HMAC_SHA_256
- HA_HMAC_SHA_256_DOUBLE
- HA_HMAC_SHA_384
- HA_HMAC_SHA_512
| Famille SHA-3 | - HA_HMAC_SHA3_224
- HA_HMAC_SHA3_256
- HA_HMAC_SHA3_384
- HA_HMAC_SHA3_512
| Famille TIGER | - HA_HMAC_TIGER_128
- HA_HMAC_TIGER_160
- HA_HMAC_TIGER_192
| Famille WHIRLPOOL | HA_HMAC_WHIRLPOOL |
- Algorithmes MD4 / MD5 / SHA / RIPEMD : fonctions de hachage cryptographiques classiques.
- Algorithmes TIGER / WHIRLPOOL : fonctions de hachage ayant de très bonnes propriétés cryptographiques optimisées pour le 64 bits (mais leur utilisation est possible en 32 bits).
- Algorithme MURMUR : fonctions de hachage très rapides et ne possédant pas de propriétés cryptographiques. C'est l'algorithme utilisé pour le "bloom filter" des portefeuilles bitcoin.
<Chemin du fichier> : Chaîne de caractères Chemin du fichier sur lequel sera effectué le calcul. <Clé secrète> : Chaîne de caractères ou Entier Clé d'authentification du message. - Si un algorithme HMAC est utilisé, ce paramètre doit être une chaîne.
- Si un algorithme MURMUR est utilisé, la clé doit être un entier.
<Jauge> : Nom de champ optionnel ou nom de fenêtre optionnel Remarques Notes - Deux fichiers de contenu identique auront, pour un même type d'algorithme, deux Hash identiques.
- Le résultat du Hash peut contenir des caractères non affichables. Ces caractères ne pourront pas être vus lors de l'utilisation par exemple des fonctions Info ou Trace.
Liste des exemples associés :
|
Exemples unitaires (WINDEV) : Les fonctions de Hashage
[ + ] Utilisation des fonctions de hashage. Les fonctions HashFichier et HashChaîne permettent de calculer une clé de Hashage pour une chaîne ou pour un fichier. Cette clé de Hashage permet par exemple de : - Vérifier que le fichier est intègre suite à un transfert par exemple - Rechercher des doublons de fichiers - ...
|
Classification Métier / UI : Code métier Composante : wd290com.dll
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|