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 [email protected] so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- License
-
New BSD License
- Package
- Zend_Crypt
- Subpackage
- Hmac
- Version
- $Id: Hmac.php 24593 2012-01-05 20:35:02Z matthew $
Package: Zend\CryptPHP implementation of the RFC 2104 Hash based Message Authentication Code
algorithm.
- Parent(s)
- \Zend_Crypt
- Category
- Zend
- Copyright
- Copyright (c) 2005-2012 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


STRING
= 'string'
Constants representing the output mode of the hash algorithm
Properties



string $_hashAlgorithm = 'md5'
staticHashing 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 $_key = null
staticThe key to use for the hash
Default valuenull
Details
- Type
- string



string $_packFormat = null
staticpack() format to be used for current hashing method
Default valuenull
Details
- Type
- string



array $_supportedAlgosMhash = array('adler32', 'crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
Default valuearray('adler32', 'crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
Details
- Type
- array
- Inherited_from
-
\Zend_Crypt::$$_supportedAlgosMhash



array $_supportedMhashAlgorithms = array('adler32', ' crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
staticList of algorithms supported my mhash()
Default valuearray('adler32', ' crc32', 'crc32b', 'gost', 'haval128', 'haval160', 'haval192', 'haval256', 'md4', 'md5', 'ripemd160', 'sha1', 'sha256', 'tiger', 'tiger128', 'tiger160')
Details
- Type
- array
Methods



_getMhashDefinition(string $hashAlgorithm) : integer
staticSince 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
Name |
Type |
Description |
$hashAlgorithm |
string |
|
Returns



_hash(string $data, string $output = self::STRING, bool $internal = false) : string
staticPerform HMAC and return the keyed data
Parameters
Name |
Type |
Description |
$data |
string |
|
$output |
string |
|
$internal |
bool |
Option to not use hash() functions for testing
|
Returns



_setHashAlgorithm(string $hash) : \Zend_Crypt_Hmac
staticSetter for the hash method.
Parameters
Name |
Type |
Description |
$hash |
string |
|
Returns



compute(string $key, string $hash, string $data, string $output = self::STRING) : string
staticPerforms 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
Name |
Type |
Description |
$key |
string |
|
$hash |
string |
|
$data |
string |
|
$output |
string |
|
Returns