Qore Programming Language Reference Manual  0.9.1
Digest (Hash) Functions

Functions

string Qore::DSS (data data)
 Returns the DSS message digest (based on SHA-0 and DSA) of the supplied argument as a hex string. More...
 
string Qore::DSS1 (data data)
 Returns the DSS1 message digest (based on SHA1 and DSA) of the supplied argument as a hex string. More...
 
binary Qore::DSS1_bin (data data)
 Returns the DSS1 message digest (based on SHA-0 and DSA) of the supplied argument as a binary object. More...
 
binary Qore::DSS_bin (data data)
 Returns the DSS message digest (based on SHA-0 and DSA) of the supplied argument as a binary object. More...
 
string Qore::MD2 (data data)
 Returns the MD2 message digest of the supplied argument as a hex string. More...
 
binary Qore::MD2_bin (data data)
 Returns the MD2 message digest of the supplied argument as binary object. More...
 
string Qore::MD4 (data data)
 Returns the MD4 message digest of the supplied argument as a hex string. More...
 
binary Qore::MD4_bin (data data)
 Returns the MD4 message digest of the supplied argument as a binary object. More...
 
string Qore::MD5 (data data)
 Returns the MD5 message digest of the supplied argument as a hex string. More...
 
binary Qore::MD5_bin (data data)
 Returns the MD5 message digest of the supplied argument as a binary object. More...
 
string Qore::MDC2 (data data)
 Returns the MDC2 message digest of the supplied argument as a hex string. More...
 
binary Qore::MDC2_bin (data data)
 Returns the MDC2 message digest of the supplied argument as a binary object. More...
 
string Qore::RIPEMD160 (data data)
 Returns the RIPEMD message digest of the supplied argument as a hex string. More...
 
binary Qore::RIPEMD160_binary (data data)
 Returns the RIPEMD message digest of the supplied argument as a binary object. More...
 
string Qore::SHA (data data)
 Returns the SHA (outdated SHA-0) message digest of the supplied argument as a hex string. More...
 
string Qore::SHA1 (data data)
 Returns the SHA1 message digest of the supplied argument as a hex string. More...
 
binary Qore::SHA1_bin (data data)
 Returns the SHA1 message digest of the supplied argument as a binary object. More...
 
string Qore::SHA224 (data data)
 Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a hex string. More...
 
binary Qore::SHA224_bin (data data)
 Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a binary object. More...
 
string Qore::SHA256 (data data)
 Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a hex string. More...
 
binary Qore::SHA256_bin (data data)
 Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a binary object. More...
 
string Qore::SHA384 (data data)
 Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a hex string. More...
 
binary Qore::SHA384_bin (data data)
 Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a binary object. More...
 
string Qore::SHA512 (data data)
 Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a hex string. More...
 
binary Qore::SHA512_bin (data data)
 Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a binary object. More...
 
binary Qore::SHA_bin (data data)
 Returns the SHA (outdated SHA-0) message digest of the supplied argument as a binary object. More...
 

Detailed Description

Qore's cryptography support is provided by the OpenSSL library.

A cryptographic hash function is a hash function; that is, an algorithm that takes an arbitrary block of data and returns a fixed-size bit string, the (cryptographic) hash value, such that any (accidental or intentional) change to the data will (with very high probability) change the hash value. The data to be encoded are often called the "message," and the hash value is sometimes called the message digest or simply digest.

For more info: Wikipedia's Cryptographic hash function article.

See also:

Function Documentation

◆ DSS()

string Qore::DSS ( data  data)

Returns the DSS message digest (based on SHA-0 and DSA) of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d")
Example:
string str = DSS("hello"); # returns "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
Exceptions
DSS-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
DSS_bin()
Note
this digest algorithm is considered outdated and is included for backwards-compatibility only when Qore is built with an older openssl library

◆ DSS1()

string Qore::DSS1 ( data  data)

Returns the DSS1 message digest (based on SHA1 and DSA) of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d")
Example:
string str = DSS1("hello"); # returns "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
Exceptions
DSS1-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
DSS1_bin()
Note
this digest algorithm is considered outdated and is included for backwards-compatibility only when Qore is built with an older openssl library

◆ DSS1_bin()

binary Qore::DSS1_bin ( data  data)

Returns the DSS1 message digest (based on SHA-0 and DSA) of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = DSS1_bin("hello");
Exceptions
DSS1-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
DSS1()
Note
this digest algorithm is considered outdated and is included for backwards-compatibility only when Qore is built with an older openssl library

◆ DSS_bin()

binary Qore::DSS_bin ( data  data)

Returns the DSS message digest (based on SHA-0 and DSA) of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = DSS_bin("hello");
Exceptions
DSS-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
DSS()
Note
this digest algorithm is considered outdated and is included for backwards-compatibility only when Qore is built with an older openssl library

◆ MD2()

string Qore::MD2 ( data  data)

Returns the MD2 message digest of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_MD2
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "a9046c73e00331af68917d3804f70655")
Example:
string str = MD2("hello"); # returns "a9046c73e00331af68917d3804f70655"
Exceptions
MD2-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MD2_bin()

◆ MD2_bin()

binary Qore::MD2_bin ( data  data)

Returns the MD2 message digest of the supplied argument as binary object.

Platform Availability:
Qore::Option::HAVE_MD2
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = MD2_bin("hello");
Exceptions
MD2-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MD2()

◆ MD4()

string Qore::MD4 ( data  data)

Returns the MD4 message digest of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "866437cb7a794bce2b727acc0362ee27")
Example:
string str = MD4("hello"); # returns "866437cb7a794bce2b727acc0362ee27"
Exceptions
MD4-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MD4_bin()

◆ MD4_bin()

binary Qore::MD4_bin ( data  data)

Returns the MD4 message digest of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = MD4_bin("hello");
Exceptions
MD4-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MD4()

◆ MD5()

string Qore::MD5 ( data  data)

Returns the MD5 message digest of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "5d41402abc4b2a76b9719d911017c592")
Example:
string str = MD5("hello"); # returns "5d41402abc4b2a76b9719d911017c592"
Exceptions
MD5-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
  • equivalent to <string>::toMD5()
  • the MD5 algorithm is not collision-resistant; it's recommended to use another hash algorithm (like SHA-256) if cryptographic security is important
See also
MD5_bin()

◆ MD5_bin()

binary Qore::MD5_bin ( data  data)

Returns the MD5 message digest of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = MD5_bin("hello");
Exceptions
MD5-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MD5()

◆ MDC2()

string Qore::MDC2 ( data  data)

Returns the MDC2 message digest of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_MDC2
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "4517036cf97b2407d6fe22aa5ab878a3")
Example:
string str = MDC2("hello"); # returns "4517036cf97b2407d6fe22aa5ab878a3"
Exceptions
MDC2-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MDC2_bin()

◆ MDC2_bin()

binary Qore::MDC2_bin ( data  data)

Returns the MDC2 message digest of the supplied argument as a binary object.

Platform Availability:
Qore::Option::HAVE_MDC2
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = MDC2_bin("hello");
Exceptions
MDC2-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
MDC2_bin()

◆ RIPEMD160()

string Qore::RIPEMD160 ( data  data)

Returns the RIPEMD message digest of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "108f07b8382412612c048d07d13f814118445acd")
Example:
string str = RIPEMD160("hello"); # returns "108f07b8382412612c048d07d13f814118445acd"
Exceptions
RIPEMD160-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
RIPEMD160_bin()

◆ RIPEMD160_binary()

binary Qore::RIPEMD160_binary ( data  data)

Returns the RIPEMD message digest of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = RIPEMD160_bin("hello");
Exceptions
RIPEMD160-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
RIPEMD160()

◆ SHA()

string Qore::SHA ( data  data)

Returns the SHA (outdated SHA-0) message digest of the supplied argument as a hex string.

This hash algorithm was withdrawn after publishing and is considered to have serious flaws.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "ac62a630ca850b4ea07eda664eaecf9480843152")
Example:
string str = SHA("hello"); returns "ac62a630ca850b4ea07eda664eaecf9480843152"
Exceptions
SHA-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA_bin()

◆ SHA1()

string Qore::SHA1 ( data  data)

Returns the SHA1 message digest of the supplied argument as a hex string.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d")
Example:
string str = SHA1("hello"); # "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
Exceptions
SHA1-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
equivalent to <string>::toSHA1()
See also
SHA1_bin()

◆ SHA1_bin()

binary Qore::SHA1_bin ( data  data)

Returns the SHA1 message digest of the supplied argument as a binary object.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA1_bin("hello");
Exceptions
SHA1-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA1()

◆ SHA224()

string Qore::SHA224 ( data  data)

Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_SHA224
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193")
Example:
string str = SHA224("hello"); # returns "ea09ae9cc6768c50fcee903ed054556e5bfc8347907f12598aa24193"
Exceptions
SHA224-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
equivalent to <string>::toSHA224()
See also
SHA224_bin()

◆ SHA224_bin()

binary Qore::SHA224_bin ( data  data)

Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a binary object.

Platform Availability:
Qore::Option::HAVE_SHA224
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA224_bin("hello");
Exceptions
SHA224-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA224()

◆ SHA256()

string Qore::SHA256 ( data  data)

Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_SHA256
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824")
Example:
string str = SHA256("hello"); # returns "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824"
Exceptions
SHA256-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
equivalent to <string>::toSHA256()
See also
SHA256_bin()

◆ SHA256_bin()

binary Qore::SHA256_bin ( data  data)

Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a binary object.

Platform Availability:
Qore::Option::HAVE_SHA256
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA256_bin("hello");
Exceptions
SHA256-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA256()

◆ SHA384()

string Qore::SHA384 ( data  data)

Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_SHA384
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f")
Example:
string str = SHA384("hello"); # returns "59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa90125a3c79f90397bdf5f6a13de828684f"
Exceptions
SHA384-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
equivalent to <string>::toSHA384()
See also
SHA384_bin()

◆ SHA384_bin()

binary Qore::SHA384_bin ( data  data)

Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a binary object.

Platform Availability:
Qore::Option::HAVE_SHA384
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA384_bin("hello");
Exceptions
SHA384-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA384()

◆ SHA512()

string Qore::SHA512 ( data  data)

Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a hex string.

Platform Availability:
Qore::Option::HAVE_SHA512
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a hex string of the digest (ex: "9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043")
Example:
string str = SHA512("hello"); # returns "9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043"
Exceptions
SHA512-DIGEST-ERRORerror calculating digest (should not normally happen)
Note
equivalent to <string>::toSHA512()
See also
SHA512_bin()

◆ SHA512_bin()

binary Qore::SHA512_bin ( data  data)

Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a binary object.

Platform Availability:
Qore::Option::HAVE_SHA512
Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA512_bin("hello");
Exceptions
SHA512-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA512()

◆ SHA_bin()

binary Qore::SHA_bin ( data  data)

Returns the SHA (outdated SHA-0) message digest of the supplied argument as a binary object.

This hash algorithm was withdrawn after publishing and is considered to have serious flaws.

Code Flags:
RET_VALUE_ONLY
Parameters
datathe data to process and produce a digest for; the trailing null character is not included in the digest when processing string arguments
Returns
a binary object of the digest
Example:
binary bin = SHA_bin("hello");
Exceptions
SHA-DIGEST-ERRORerror calculating digest (should not normally happen)
See also
SHA()