PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
  • Notes
  • Availability of algorithms
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Calculates the Hash of a file according to a specific algorithm. You have the ability to calculate:
  • a simple hash.
  • a hash with message authentication.
Reminder: Hashing is used to summarize a file or a character string. This summary is called Hash.
Reports and Queries
// Calculate the Hash of two files
Hash1 is Buffer = HashFile(HA_MD5_128, "C:\My files\FileA.txt")
Hash2 is Buffer = HashFile(HA_MD5_128, "D:\My files\FileB.txt")
// Compare the two Hash
IF Hash1 = Hash2 THEN Info("The two files are identical.")
Syntax

Calculating a simple hash Hide the details

<Result> = HashFile(<Type of algorithm> , <File path> [, <Progress Bar>])
<Result>: Buffer
Result of <File path> hashing with the <Type of algorithm> algorithm.
Caution: This result may contain non-displayable characters.
<Type of algorithm>: Integer constant
Indicates the type of algorithm used when hashing the <File path> file:
Versions 25 and later
MD4 family
New in version 25
MD4 family
MD4 family
Versions 25 and later
HA_MD4
New in version 25
HA_MD4
HA_MD4
MD5 familyHA_MD5_128
Versions 24 and later
MURMUR family
New in version 24
MURMUR family
MURMUR family
Versions 24 and later
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
New in version 24
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
Versions 24 and later
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
New in version 24
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
New in version 24
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
Versions 24 and later
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
New in version 24
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
Versions 24 and later
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
New in version 24
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
New in version 24
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
New in version 24
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
Versions 24 and later
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
New in version 24
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
Versions 24 and later
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
New in version 24
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
Versions 24 and later
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
New in version 24
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
RIPEMD familyHA_RIPEMD_128
HA_RIPEMD_160
SHA familyHA_SHA_160 (also called SHA-1)
HA_SHA_256
Versions 25 and later
HA_SHA_256_DOUBLE
New in version 25
HA_SHA_256_DOUBLE
HA_SHA_256_DOUBLE
HA_SHA_384
HA_SHA_512
Versions 23 and later
SHA-3 family
New in version 23
SHA-3 family
SHA-3 family
Versions 23 and later
HA_SHA3_224
New in version 23
HA_SHA3_224
HA_SHA3_224
Versions 23 and later
HA_SHA3_256
New in version 23
HA_SHA3_256
HA_SHA3_256
Versions 23 and later
HA_SHA3_384
New in version 23
HA_SHA3_384
HA_SHA3_384
Versions 23 and later
HA_SHA3_512
New in version 23
HA_SHA3_512
HA_SHA3_512
TIGER familyHA_TIGER_128
HA_TIGER_160
HA_TIGER_192
WHIRLPOOL familyHA_WHIRLPOOL
CKSUM familyHA_CKSUM_8
HA_CKSUM_16
HA_CKSUM_32
HA_CKSUM_64
  • MD4 / MD5 / SHA / RIPEMD algorithms: standard cryptographic hash functions.
  • TIGER/WHIRLPOOL algorithms: hash functions with high cryptographic properties optimized for the 64-bit mode (but can also be used in 32-bit mode).
  • CKSUM algorithms: hash functions with no cryptographic property, should be used to perform low-level checks or with hashing tables.
  • Versions 24 and later
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
    New in version 24
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
<File path>: Character string (with quotes)
Path of file on which the calculation will be performed.
<Progress Bar>: Optional window name or optional control name

Calculating a hash with message authentication (HMAC/MURMUR algorithm) Hide the details

<Result> = HashFile(<Type of algorithm> , <File path> , <Secret key> [, <Progress Bar>])
<Result>: Buffer
Result of <File path> hashing with the <Type of algorithm> algorithm.
Caution: This result may contain non-displayable characters.
<Type of algorithm>: Integer constant
Indicates the type of HMAC algorithm used when hashing the <File path> file:
Versions 25 and later
MD4 family
New in version 25
MD4 family
MD4 family
Versions 25 and later
HA_HMAC_MD4
New in version 25
HA_HMAC_MD4
HA_HMAC_MD4
MD5 familyHA_HMAC_MD5_128
Versions 24 and later
MURMUR family
New in version 24
MURMUR family
MURMUR family
Versions 24 and later
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
New in version 24
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
HA_MURMUR_1: Murmur algorithm version 1: 32-bit hash result
Versions 24 and later
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
New in version 24
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
HA_MURMUR_2: Murmur algorithm version 2: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
New in version 24
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
HA_MURMUR_2_64A: Murmur algorithm version 2: 64-bit hash result optimized for 64-bit processors
Versions 24 and later
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
New in version 24
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
HA_MURMUR_2_64B: Murmur algorithm version 2: 64-bit hash result optimized for 32-bit processors
Versions 24 and later
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
New in version 24
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
New in version 24
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for big-endian machine: 32-bit hash result
Versions 24 and later
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
New in version 24
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32-bit hash result
Versions 24 and later
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
New in version 24
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
HA_MURMUR_3_32: Murmur algorithm version 3: 32-bit hash result
Versions 24 and later
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
New in version 24
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128-bit hash result optimized for 32-bit processors
Versions 24 and later
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
New in version 24
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128-bit hash result optimized for 64-bit processors
RIPEMD familyHA_HMAC_RIPEMD_128
HA_HMAC_RIPEMD_160
SHA familyHA_HMAC_SHA_160
HA_HMAC_SHA_256
Versions 25 and later
HA_HMAC_SHA_256_DOUBLE
New in version 25
HA_HMAC_SHA_256_DOUBLE
HA_HMAC_SHA_256_DOUBLE
HA_HMAC_SHA_384
HA_HMAC_SHA_512
Versions 23 and later
SHA-3 family
New in version 23
SHA-3 family
SHA-3 family
Versions 23 and later
HA_SHA3_224
New in version 23
HA_SHA3_224
HA_SHA3_224
Versions 23 and later
HA_SHA3_256
New in version 23
HA_SHA3_256
HA_SHA3_256
Versions 23 and later
HA_SHA3_384
New in version 23
HA_SHA3_384
HA_SHA3_384
Versions 23 and later
HA_SHA3_512
New in version 23
HA_SHA3_512
HA_SHA3_512
TIGER familyHA_HMAC_TIGER_128
HA_HMAC_TIGER_160
HA_HMAC_TIGER_192
WHIRLPOOL familyHA_HMAC_WHIRLPOOL
  • MD4 / MD5 / SHA / RIPEMD algorithms: standard cryptographic hash functions.
  • TIGER/WHIRLPOOL algorithms: hash functions with high cryptographic properties optimized for the 64-bit mode (but can also be used in 32-bit mode).
  • Versions 24 and later
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
    New in version 24
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
    MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
<File path>: Character string (with quotes)
Path of file on which the calculation will be performed.
<Secret key>: Character string (between quotes) or Integer
Authentication key of message.
  • If an HMAC algorithm is used, this parameter must be a string.
  • Versions 24 and later
    If a MURMUR algorithm is used, the key must be an integer.
    New in version 24
    If a MURMUR algorithm is used, the key must be an integer.
    If a MURMUR algorithm is used, the key must be an integer.
<Progress Bar>: Optional control name or optional window name
Remarks

Notes

  • Two files with an identical content will have, for the same type of algorithm, two identical Hashes.
  • The result of the Hash may contain non-displayable characters. These characters will not be visible when using Info or Trace for example.

Availability of algorithms

Related Examples:
The Hash functions Unit examples (WINDEV): The Hash functions
[ + ] Using the hashing functions.
The HashFile and HashString functions are used to calculate a Hash key for a string or for a file.
This Hash key is used to:
- Check whether the file is consistent after a transfer for example
- Find file duplicates
- ...
Business / UI classification : Business Logic
Component : wd250com.dll
Minimum version required
  • Version 11
This page is also available for…
Comments
Click [Add] to post a comment