Hash

Zend\Validator\File\Hash allows you to validate if a given file’s hashed contents matches the supplied hash(es) and algorithm(s).

Note

This validator requires the Hash extension from PHP. A list of supported hash algorithms can be found with the hash_algos() function.

Supported Options

The following set of options are supported:

  • hash (string)

    Hash to test the file against.

  • algorithm (string) default: "crc32"

    Algorithm to use for the hashing validation.

Usage Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// Does file have the given hash?
$validator = new \Zend\Validator\File\Hash('3b3652f', 'crc32');

// Or, check file against multiple hashes
$validator = new \Zend\Validator\File\Hash(array('3b3652f', 'e612b69'), 'crc32');

// Perform validation with file path
if ($validator->isValid('./myfile.txt')) {
   // file is valid
}

Public Methods

getHash()

Returns the current set of hashes.

Return type:array
addHash(string|array $options)

Adds a hash for one or multiple files to the internal set of hashes.

Parameters:$options – See Supported Options section for more information.
setHash(string|array $options)

Sets a hash for one or multiple files. Removes any previously set hashes.

Parameters:$options – See Supported Options section for more information.

Table Of Contents

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Hash on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.