lib/3rdParty/phpseclib/Crypt/Hash.php

Properties

Description

Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.

Uses hash() or mhash() if available and an internal implementation, otherwise. Currently supports the following: md2, md5, md5-96, sha1, sha1-96, sha256, sha384, and sha512 If {@link Crypt_Hash::setKey() setKey()} is called, {@link Crypt_Hash::hash() hash()} will return the HMAC as opposed to the hash. If no valid algorithm is provided, sha1 will be used. PHP versions 4 and 5 {@internal The variable names are the same as those in {@link http://tools.ietf.org/html/rfc2104#section-2 RFC2104}.}} Here's a short example of how to use this library: setKey('abcdefg'); echo base64_encode($hash->hash('abcdefg')); ?> LICENSE: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Constants

  CRYPT_HASH_MODE_INTERNAL = 1

Toggles the internal implementation


  CRYPT_HASH_MODE_MHASH = 2

Toggles the mhash() implementation, which has been deprecated on PHP 5.3.0+.


  CRYPT_HASH_MODE_HASH = 3

Toggles the hash() implementation, which works on PHP 5.1.2+.


  CRYPT_HASH_MODE = CRYPT_HASH_MODE_INTERNAL




Classes

Crypt_Hash

Properties

 
 
public  
 
No 
No 

Description

Pure-PHP implementations of keyed-hash message authentication codes (HMACs) and various cryptographic hashing functions.

Methods

Crypt_Hash, _add, _md2, _md5, _not, _rightRotate, _rightShift, _sha1, _sha256, _sha512, _string_shift, getLength, hash, setHash, setKey,

Crypt_Hash(   $hash = 'sha1', ) : \Crypt_Hash

Description

Default Constructor.

Arguments

Name Type Description Default
$hash n/a 'sha1'

Return value

Type Description
\Crypt_Hash

Tags

Name Description
access public

_add( ) : String

Description

Add
_sha256() adds multiple unsigned 32-bit integers. Since PHP doesn't support unsigned integers and since the possibility of overflow exists, care has to be taken. Math_BigInteger() could be used but this should be faster.

Return value

Type Description
String

Tags

Name Description
see
access private

_md2(   $m, ) : n/a

Description

Pure-PHP implementation of MD2
See {@link http://tools.ietf.org/html/rfc1319 RFC1319}.

Arguments

Name Type Description Default
$m n/a

Return value

Type Description
n/a n/a

Tags

Name Description
access private

_md5(   $m, ) : n/a

Description

Wrapper for MD5

Arguments

Name Type Description Default
$m n/a

Return value

Type Description
n/a n/a

Tags

Name Description
access private

_not( Integer   $int, ) : Integer

Description

Not

Arguments

Name Type Description Default
$int Integer

Return value

Type Description
Integer

Tags

Name Description
access private
see

_rightRotate( Integer   $int, Integer   $amt, ) : Integer

Description

Right Rotate

Arguments

Name Type Description Default
$int Integer
$amt Integer

Return value

Type Description
Integer

Tags

Name Description
access private
see

_rightShift( Integer   $int, Integer   $amt, ) : Integer

Description

Right Shift

Arguments

Name Type Description Default
$int Integer
$amt Integer

Return value

Type Description
Integer

Tags

Name Description
access private
see

_sha1(   $m, ) : n/a

Description

Wrapper for SHA1

Arguments

Name Type Description Default
$m n/a

Return value

Type Description
n/a n/a

Tags

Name Description
access private

_sha256(   $m, ) : n/a

Description

Pure-PHP implementation of SHA256
See {@link http://en.wikipedia.org/wiki/SHA_hash_functions#SHA-256_.28a_SHA-2_variant.29_pseudocode SHA-256 (a SHA-2 variant) pseudocode - Wikipedia}.

Arguments

Name Type Description Default
$m n/a

Return value

Type Description
n/a n/a

Tags

Name Description
access private

_sha512(   $m, ) : n/a

Description

Pure-PHP implementation of SHA384 and SHA512

Arguments

Name Type Description Default
$m n/a

Return value

Type Description
n/a n/a

Tags

Name Description
access private

_string_shift( String   $string,   $index = 1, ) : String

Description

String Shift
Inspired by array_shift

Arguments

Name Type Description Default
$string String
$index n/a 1

Return value

Type Description
String

Tags

Name Description
access private

getLength( ) : Integer

Description

Returns the hash length (in bytes)

Return value

Type Description
Integer

Tags

Name Description
access public

hash( String   $text, ) : String

Description

Compute the HMAC.

Arguments

Name Type Description Default
$text String

Return value

Type Description
String

Tags

Name Description
access public

setHash( String   $hash, ) : n/a

Description

Sets the hash function.

Arguments

Name Type Description Default
$hash String

Return value

Type Description
n/a n/a

Tags

Name Description
access public

setKey( String   $key, ) : n/a

Description

Sets the key for HMACs
Keys can be of any length.

Arguments

Name Type Description Default
$key String

Return value

Type Description
n/a n/a

Tags

Name Description
access public

Properties

$b, $hash, $ipad, $key, $l, $opad,

Integer  public  $b =

Byte-length of compression blocks / key (Internal HMAC)


String  public  $hash =

Hash Algorithm


String  public  $ipad =

Inner XOR (Internal HMAC)


String  public  $key = ''

Key


Integer  public  $l = false

Byte-length of hash output (Internal HMAC)


String  public  $opad =

Outer XOR (Internal HMAC)


Documentation was generated by phpDocumentor 2.0.1 .

Namespaces

  • global

    Packages