Checks the Hash of a character string for a specific type of algorithm. You have the ability to check:
 a simple hash.
 a hash with message authentication.
Reminder: The hashing is used to summarize a file or a character string. This summary is called Hash.
Syntax
Checking a simple hash Hide the details
<Result> = HashCheckString(<Type of algorithm> , <String> , <Hash>)
<Result>: Boolean
 True if the result when <String> was hashed by <Type of algorithm> corresponds to <Hash>,
 False otherwise.
<Type of algorithm>: Integer constant
Indicates the type of algorithm used when hashing the <String>:
 
Versions 22 and laterDJB2 family (Bernstein) New in version 22DJB2 family (Bernstein) DJB2 family (Bernstein)  Versions 22 and laterHA_DJB2_32 New in version 22HA_DJB2_32 HA_DJB2_32
Versions 22 and laterHA_DJB2_64 New in version 22HA_DJB2_64 HA_DJB2_64

Versions 25 and laterMD4 family New in version 25MD4 family MD4 family  Versions 25 and laterHA_MD4 New in version 25HA_MD4 HA_MD4

MD5 family  HA_MD5_128 
Versions 24 and laterMURMUR family New in version 24MURMUR family MURMUR family  Versions 24 and laterHA_MURMUR_1: Murmur algorithm version 1: 32bit hash result New in version 24HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result
Versions 24 and laterHA_MURMUR_2: Murmur algorithm version 2: 32bit hash result New in version 24HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result
Versions 24 and laterHA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors New in version 24HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors
Versions 24 and laterHA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors New in version 24HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors
Versions 24 and laterHA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result New in version 24HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result
Versions 24 and laterHA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result New in version 24HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result
Versions 24 and laterHA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result New in version 24HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result
Versions 24 and laterHA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result New in version 24HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result
Versions 24 and laterHA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors New in version 24HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors
Versions 24 and laterHA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors New in version 24HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors

RIPEMD family   HA_RIPEMD_128
 HA_RIPEMD_160

SHA1 family   HA_SHA_160 (also called SHA1)
 HA_SHA_256 (FIPS PUB 198 specifications)
Versions 25 and laterHA_SHA_256_DOUBLE New in version 25HA_SHA_256_DOUBLE HA_SHA_256_DOUBLE HA_SHA_384
 HA_SHA_512

Versions 23 and laterSHA3 family New in version 23SHA3 family SHA3 family  Versions 23 and laterHA_SHA3_224 New in version 23HA_SHA3_224 HA_SHA3_224
Versions 23 and laterHA_SHA3_256 New in version 23HA_SHA3_256 HA_SHA3_256
Versions 23 and laterHA_SHA3_384 New in version 23HA_SHA3_384 HA_SHA3_384
Versions 23 and laterHA_SHA3_512 New in version 23HA_SHA3_512 HA_SHA3_512

TIGER family   HA_TIGER_128
 HA_TIGER_160
 HA_TIGER_192

WHIRLPOOL family  HA_WHIRLPOOL

CKSUM family   HA_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 64bit mode (but can also be used in 32bit mode).
 CKSUM algorithms: hash functions with no cryptographic property, should be used to perform lowlevel checks or with hashing tables.
Versions 22 and laterDJB2 algorithm (Bernstein): hash functions reserved to strings and with no cryptographic property, should be used to perform lowlevel checks or with hashing tables. Few risks to get an identical hash.
New in version 22DJB2 algorithm (Bernstein): hash functions reserved to strings and with no cryptographic property, should be used to perform lowlevel checks or with hashing tables. Few risks to get an identical hash.
DJB2 algorithm (Bernstein): hash functions reserved to strings and with no cryptographic property, should be used to perform lowlevel checks or with hashing tables. Few risks to get an identical hash. Versions 24 and laterMURMUR algorithm: very fast hashing functions. This algorithm is used by the "bloom filter" of bitcoin wallets.
New in version 24MURMUR algorithm: very fast hashing functions. This algorithm is used by the "bloom filter" of bitcoin wallets.
MURMUR algorithm: very fast hashing functions. This algorithm is used by the "bloom filter" of bitcoin wallets.
<String>: Character string (with quotes)
String for which the Hash will be checked.
<Hash>: Character string (with quotes)
Hash of string to check. This Hash must be the result of HashString previously called for <String> on <Type of algorithm>.
Checking a hash with message authentication (HMAC/MURMUR algorithm) Hide the details
<Result> = HashCheckString(<Type of algorithm> , <String> , <Hash> , <Secret key>)
<Result>: Boolean
 True if the result when <String> was hashed by <Type of algorithm> corresponds to <Hash>,
 False otherwise.
<Type of algorithm>: Integer constant
Indicates the type of algorithm (HMAC or MURMUR) used to hash the <String> string:
 
Versions 25 and laterMD4 family New in version 25MD4 family MD4 family  Versions 25 and laterHA_HMAC_MD4 New in version 25HA_HMAC_MD4 HA_HMAC_MD4

MD5 family  HA_HMAC_MD5_128 
Versions 24 and laterMURMUR family New in version 24MURMUR family MURMUR family  Versions 24 and laterHA_MURMUR_1: Murmur algorithm version 1: 32bit hash result New in version 24HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result
Versions 24 and laterHA_MURMUR_2: Murmur algorithm version 2: 32bit hash result New in version 24HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result
Versions 24 and laterHA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors New in version 24HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors
Versions 24 and laterHA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors New in version 24HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors
Versions 24 and laterHA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result New in version 24HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result
Versions 24 and laterHA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result New in version 24HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result
Versions 24 and laterHA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result New in version 24HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result HA_MURMUR_2_ALIGNED: Murmur algorithm version 2 for aligned machine: 32bit hash result
Versions 24 and laterHA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result New in version 24HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result
Versions 24 and laterHA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors New in version 24HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit processors
Versions 24 and laterHA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors New in version 24HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors HA_MURMUR_3_128_X64: Murmur algorithm version 3: 128bit hash result optimized for 64bit processors

RIPEMD family   HA_HMAC_RIPEMD_128
 HA_HMAC_RIPEMD_160

SHA family   HA_HMAC_SHA_160
 HA_HMAC_SHA_256
Versions 25 and laterHA_HMAC_SHA_256_DOUBLE New in version 25HA_HMAC_SHA_256_DOUBLE HA_HMAC_SHA_256_DOUBLE HA_HMAC_SHA_384
 HA_HMAC_SHA_512

Versions 23 and laterSHA3 family New in version 23SHA3 family SHA3 family  Versions 23 and laterHA_SHA3_224 New in version 23HA_SHA3_224 HA_SHA3_224
Versions 23 and laterHA_SHA3_256 New in version 23HA_SHA3_256 HA_SHA3_256
Versions 23 and laterHA_SHA3_384 New in version 23HA_SHA3_384 HA_SHA3_384
Versions 23 and laterHA_SHA3_512 New in version 23HA_SHA3_512 HA_SHA3_512

TIGER family   HA_HMAC_TIGER_128
 HA_HMAC_TIGER_160
 HA_HMAC_TIGER_192

WHIRLPOOL family  HA_HMAC_WHIRLPOOL

 MD4 / MD5 / SHA / RIPEMD algorithms: standard cryptographic hash functions.
 TIGER/WHIRLPOOL algorithms: hash functions with high cryptographic properties optimized for the 64bit mode (but can also be used in 32bit mode).
MURMUR algorithm: very fast hashing functions. This algorithm is used by the "bloom filter" of bitcoin wallets.
<String>: Character string (with quotes)
String for which the Hash will be checked.
<Hash>: Character string (with quotes)
Hash of string to check. This Hash must be the result of HashString previously called for <String> on <Type of algorithm>.
<Secret key>: Character string (between quotes) or Integer
Authentication key of message. This key must be identical to the one used to calculate the Hash.
Remarks
Availability of algorithms
HashCheckString and UNICODE
Multiplatform development: To use Hash of strings between several platforms (a hash generated in iOS and checked in Android or Windows for example), no Unicode string must be used. Indeed, the Unicode strings do not have the same format according to the platforms. In this case, we advise you to use strings in ANSI or UTF 8 format (and to convert the Unicode strings if necessary).
Business / UI classification : Business Logic