 Availability of algorithms
 HashCheckString and UNICODE
HashCheckString (Function) In french: HashVérifieChaîne 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>:
  DJB2 family (Bernstein)   MD4 family  HA_MD4  MD5 family  HA_MD5_128 Caution: this type of algorithm is currently deprecated.  MURMUR family   HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result
 HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result
 HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors
 HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors
 HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result
 HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result
 HA_MURMUR_2_ALIGNE: Murmur algorithm version 2 for aligned machine: 32bit hash result
 HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result
 HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit 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
 SHA family   HA_SHA_160 (also called SHA1)
 HA_SHA_256 (FIPS PUB 198 specifications)
 HA_SHA_256_DOUBLE
 HA_SHA_384
 HA_SHA_512
 SHA3 family   HA_SHA3_224
 HA_SHA3_256
 HA_SHA3_384
 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.
 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.
 MURMUR algorithm: very fast hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
<String>: Character string String for which the Hash will be checked. <Hash>: Character string Hash of string to check. This Hash must be the result of HashString previously called for <String> using the <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>:
  MD4 family  HA_HMAC_MD4
 MD5 family  HA_HMAC_MD5_128 Caution: this type of algorithm is currently deprecated.  MURMUR family   HA_MURMUR_1: Murmur algorithm version 1: 32bit hash result
 HA_MURMUR_2: Murmur algorithm version 2: 32bit hash result
 HA_MURMUR_2_64A: Murmur algorithm version 2: 64bit hash result optimized for 64bit processors
 HA_MURMUR_2_64B: Murmur algorithm version 2: 64bit hash result optimized for 32bit processors
 HA_MURMUR_2_A: Incremental Murmur algorithm version 2: 32bit hash result
 HA_MURMUR_2_BIG_ENDIAN: Murmur algorithm version 2 for bigendian machine: 32bit hash result
 HA_MURMUR_2_ALIGNE: Murmur algorithm version 2 for aligned machine: 32bit hash result
 HA_MURMUR_3_32: Murmur algorithm version 3: 32bit hash result
 HA_MURMUR_3_128_X86: Murmur algorithm version 3: 128bit hash result optimized for 32bit 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
 HA_HMAC_SHA_256_DOUBLE
 HA_HMAC_SHA_384
 HA_HMAC_SHA_512
 SHA3 family   HA_HMAC_SHA3_224
 HA_HMAC_SHA3_256
 HA_HMAC_SHA3_384
 HA_HMAC_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 hash functions with no cryptographic properties. This algorithm is used by the "bloom filter" of bitcoin wallets.
<String>: Character string String for which the Hash will be checked. <Hash>: Character string Hash of string to check. This Hash must be the result of HashString previously called for <String> using the <Type of algorithm>. <Secret key>: Character string or Integer Authentication key of message. This key must be identical to the one used to calculate the Hash. Remarks HashCheckString and UNICODE Crossplatform 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
This page is also available for…


