Generate a hash value (message digest)

- « hash_update

- Mcrypt »

- PHP Manual
- Hash Functions
- Generate a hash value (message digest)

# hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash — Generate a hash value (message digest)

### Description

hash(
string `$algo`,
string `$data`,
bool `$binary` = `false`,
array `$options` = []
): string

### Parameters

`algo`

  Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..). For a list of supported algorithms see hash_algos().

`data`

  Message to be hashed.

`binary`

  When set to `true`, outputs raw binary data. `false` outputs lowercase hexits.

`options`

  An array of options for the various hashing algorithms. Currently, only the "seed" parameter is supported by the MurmurHash variants.

### Return Values

Returns a string containing the calculated message digest as lowercase hexits unless `binary` is set to true in which case the raw binary representation of the message digest is returned.

### Changelog

Version | Description
--- | ---
8.1.0 | The `options` parameter has been added.
8.0.0 | hash() now throws a ValueError exception if `algo` is unknown; previously, `false` was returned instead.

### Examples

Example #1 A hash() example

    <?phpecho hash('sha256', 'The quick brown fox jumped over the lazy dog.');?>

The above example will output:

    68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483

### See Also

- hash_file() - Generate a hash value using the contents of a given file
- hash_hmac() - Generate a keyed hash value using the HMAC method
- hash_init() - Initialize an incremental hashing context
- md5() - Calculate the md5 hash of a string
- sha1() - Calculate the sha1 hash of a string