| Qore Programming Language Reference Manual 2.2.0

Loading...
Searching...
No Matches
Functions
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.
string | Qore::DSS1 (data data)
| Returns the DSS1 message digest (based on SHA1 and DSA) of the supplied argument as a hex string.
binary | Qore::DSS1_bin (data data)
| Returns the DSS1 message digest (based on SHA-0 and DSA) of the supplied argument as a binary value.
binary | Qore::DSS_bin (data data)
| Returns the DSS message digest (based on SHA-0 and DSA) of the supplied argument as a binary value.
string | Qore::MD2 (data data)
| Returns the MD2 message digest of the supplied argument as a hex string.
binary | Qore::MD2_bin (data data)
| Returns the MD2 message digest of the supplied argument as binary value.
string | Qore::MD4 (data data)
| Returns the MD4 message digest of the supplied argument as a hex string.
binary | Qore::MD4_bin (data data)
| Returns the MD4 message digest of the supplied argument as a binary value.
string | Qore::MD5 (data data)
| Returns the MD5 message digest of the supplied argument as a hex string.
binary | Qore::MD5_bin (data data)
| Returns the MD5 message digest of the supplied argument as a binary value.
string | Qore::MDC2 (data data)
| Returns the MDC2 message digest of the supplied argument as a hex string.
binary | Qore::MDC2_bin (data data)
| Returns the MDC2 message digest of the supplied argument as a binary value.
string | Qore::RIPEMD160 (data data)
| Returns the RIPEMD message digest of the supplied argument as a hex string.
binary | Qore::RIPEMD160_binary (data data)
| Returns the RIPEMD message digest of the supplied argument as a binary value.
string | Qore::SHA (data data)
| Returns the SHA (outdated SHA-0) message digest of the supplied argument as a hex string.
string | Qore::SHA1 (data data)
| Returns the SHA1 message digest of the supplied argument as a hex string.
binary | Qore::SHA1_bin (data data)
| Returns the SHA1 message digest of the supplied argument as a binary value.
string | Qore::SHA224 (data data)
| Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a hex string.
binary | Qore::SHA224_bin (data data)
| Returns the SHA-224 message digest (a variant of SHA-2) of the supplied argument as a binary value.
string | Qore::SHA256 (data data)
| Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a hex string.
binary | Qore::SHA256_bin (data data)
| Returns the SHA-256 message digest (a variant of SHA-2) of the supplied argument as a binary value.
string | Qore::SHA384 (data data)
| Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a hex string.
binary | Qore::SHA384_bin (data data)
| Returns the SHA-384 message digest (a variant of SHA-2) of the supplied argument as a binary value.
string | Qore::SHA512 (data data)
| Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a hex string.
binary | Qore::SHA512_bin (data data)
| Returns the SHA-512 message digest (a variant of SHA-2) of the supplied argument as a binary value.
binary | Qore::SHA_bin (data data)
| Returns the SHA (outdated SHA-0) message digest of the supplied argument as a binary value.

## 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:

- Cryptographic Functions
- HMAC Functions
- Cryptographic Contants

## 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - DSS_bin()
  - digest()

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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - DSS1_bin()
  - digest()

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 value.

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = DSS1_bin("hello");

Exceptions

  DSS1-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - DSS1()
  - digest()

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 value.

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = DSS_bin("hello");

Exceptions

  DSS-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - DSS()
  - digest()

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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - MD2_bin()
  - digest()

## ◆ MD2_bin()

binary Qore::MD2_bin | ( | data | data | ) |

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

Platform Availability:
  Qore::Option::HAVE_MD2

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = MD2_bin("hello");

Exceptions

  MD2-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - MD2()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - MD4_bin()
  - digest()

## ◆ MD4_bin()

binary Qore::MD4_bin | ( | data | data | ) |

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

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = MD4_bin("hello");

Exceptions

  MD4-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - MD4()
  - digest()

## ◆ 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

  data | the 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-ERROR | error 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()
  - digest()

## ◆ MD5_bin()

binary Qore::MD5_bin | ( | data | data | ) |

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

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = MD5_bin("hello");

Exceptions

  MD5-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - MD5()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - MDC2_bin()
  - digest()

## ◆ MDC2_bin()

binary Qore::MDC2_bin | ( | data | data | ) |

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

Platform Availability:
  Qore::Option::HAVE_MDC2

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = MDC2_bin("hello");

Exceptions

  MDC2-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - MDC2_bin()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - RIPEMD160_bin()
  - digest()

## ◆ RIPEMD160_binary()

binary Qore::RIPEMD160_binary | ( | data | data | ) |

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

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = RIPEMD160_bin("hello");

Exceptions

  RIPEMD160-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - RIPEMD160()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

See also
  - SHA_bin()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

Note
  equivalent to <string>::toSHA1()

See also
  - SHA1_bin()
  - digest()

## ◆ SHA1_bin()

binary Qore::SHA1_bin | ( | data | data | ) |

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

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA1_bin("hello");

Exceptions

  SHA1-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA1()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

Note
  equivalent to <string>::toSHA224()

See also
  - digest()
  - 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 value.

Platform Availability:
  Qore::Option::HAVE_SHA224

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA224_bin("hello");

Exceptions

  SHA224-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA224()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

Note
  equivalent to <string>::toSHA256()

See also
  - SHA256_bin()
  - digest()

## ◆ 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 value.

Platform Availability:
  Qore::Option::HAVE_SHA256

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA256_bin("hello");

Exceptions

  SHA256-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA256()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

Note
  equivalent to <string>::toSHA384()

See also
  - SHA384_bin()
  - digest()

## ◆ 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 value.

Platform Availability:
  Qore::Option::HAVE_SHA384

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA384_bin("hello");

Exceptions

  SHA384-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA384()
  - digest()

## ◆ 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

  data | the 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-ERROR | error calculating digest (should not normally happen)

Note
  equivalent to <string>::toSHA512()

See also
  - SHA512_bin()
  - digest()

## ◆ 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 value.

Platform Availability:
  Qore::Option::HAVE_SHA512

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA512_bin("hello");

Exceptions

  SHA512-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA512()
  - digest()

## ◆ SHA_bin()

binary Qore::SHA_bin | ( | data | data | ) |

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

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

Code Flags:
  RET_VALUE_ONLY

Parameters

  data | the 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 value of the digest

Example:
  binary bin = SHA_bin("hello");

Exceptions

  SHA-DIGEST-ERROR | error calculating digest (should not normally happen)

See also
  - SHA()
  - digest()