Crypt/Hmac.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Crypt
- Subpackage
- Hmac
- Version
- $Id$
\Zend_Crypt_Hmac
Package: Zend_Crypt
PHP implementation of the RFC 2104 Hash based Message Authentication Code
algorithm.
- Parent(s)
- \Zend_Crypt
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Todo
- Patch for refactoring failed tests (key block sizes >80 using internal algo)
- Todo
- Check if mhash() is a required alternative (will be PECL-only soon)
Constants
Properties
string $_hashAlgorithm = 'md5'
static
Hashing algorithm; can be the md5/sha1 functions or any algorithm name
listed in the output of PHP 5.1.2+ hash_algos().
Default value
'md5'
Details- Type
- string
string $_packFormat = null
static
pack() format to be used for current hashing method
Default value
null
Details- Type
- string
array $_supportedMhashAlgorithms = array('adler32', ' crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
static
List of algorithms supported my mhash()
Default value
array('adler32', ' crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
Details- Type
- array
Methods
_getMhashDefinition(string $hashAlgorithm) : integer
static
Since MHASH accepts an integer constant representing the hash algorithm we need to make a small detour to get the correct integer matching our algorithm's name.
Parameters
Returns
Name | Type | Description |
---|---|---|
$hashAlgorithm | string |
Type | Description |
---|---|
integer |
_hash(string $data, string $output = self::STRING, bool $internal = false) : string
static
Perform HMAC and return the keyed data
Parameters
Returns
Name | Type | Description |
---|---|---|
$data | string | |
$output | string | |
$internal | bool | Option to not use hash() functions for testing |
Type | Description |
---|---|
string |
_setHashAlgorithm(string $hash) : \Zend_Crypt_Hmac
static
Setter for the hash method.
Parameters
Returns
Name | Type | Description |
---|---|---|
$hash | string |
Type | Description |
---|---|
\Zend_Crypt_Hmac |
compute(string $key, string $hash, string $data, string $output = self::STRING) : string
static
Performs a HMAC computation given relevant details such as Key, Hashing algorithm, the data to compute MAC of, and an output format of String, Binary notation or BTWOC.
Parameters
Returns
Name | Type | Description |
---|---|---|
$key | string | |
$hash | string | |
$data | string | |
$output | string |
Type | Description |
---|---|
string |