MediaWiki  master
LayeredParameterizedPassword Class Reference

This password hash type layers one or more parameterized password types on top of each other. More...

Inheritance diagram for LayeredParameterizedPassword:
Collaboration diagram for LayeredParameterizedPassword:

Public Member Functions

 crypt ( $password)
 
 partialCrypt (ParameterizedPassword $passObj)
 Finish the hashing of a partially hashed layered hash. More...
 
- Public Member Functions inherited from ParameterizedPassword
 needsUpdate ()
 
 toString ()
 
- Public Member Functions inherited from Password
 __construct (PasswordFactory $factory, array $config, $hash=null)
 Construct the Password object using a string hash. More...
 
 crypt ( $password)
 Hash a password and store the result in this object. More...
 
 equals ( $other)
 Compare one Password object to this object. More...
 
 getType ()
 Get the type name of the password. More...
 
 needsUpdate ()
 Determine if the hash needs to be updated. More...
 
 toString ()
 Convert this hash to a string that can be stored in the database. More...
 
 verify ( $password)
 Checks whether the given password matches the hash stored in this object. More...
 

Protected Member Functions

 getDefaultParams ()
 
 getDelimiter ()
 
- Protected Member Functions inherited from ParameterizedPassword
 getDefaultParams ()
 Return an ordered array of default parameters for this password hash. More...
 
 getDelimiter ()
 Returns the delimiter for the parameters inside the hash. More...
 
 parseHash ( $hash)
 
- Protected Member Functions inherited from Password
 assertIsSafeSize ( $hash)
 Assert that hash will fit in a tinyblob field. More...
 
 isSupported ()
 Whether current password type is supported on this system. More...
 
 parseHash ( $hash)
 Perform any parsing necessary on the hash to see if the hash is valid and/or to perform logic for seeing if the hash needs updating. More...
 

Additional Inherited Members

- Public Attributes inherited from Password
const MAX_HASH_SIZE = 255
 Hash must fit in user_password, which is a tinyblob. More...
 
- Protected Attributes inherited from ParameterizedPassword
array $args = []
 Extra arguments that were found in the hash. More...
 
array $params = []
 Named parameters that have default values for this password type. More...
 
- Protected Attributes inherited from Password
array $config
 Array of configuration variables injected from the constructor. More...
 
PasswordFactory $factory
 Factory that created the object. More...
 
string $hash
 String representation of the hash without the type. More...
 

Detailed Description

This password hash type layers one or more parameterized password types on top of each other.

The underlying types must be parameterized. This wrapping type accumulates all the parameters and arguments from each hash and then passes the hash of the last layer as the password for the next layer.

Since
1.24

Definition at line 33 of file LayeredParameterizedPassword.php.

Member Function Documentation

◆ crypt()

LayeredParameterizedPassword::crypt (   $password)

◆ getDefaultParams()

LayeredParameterizedPassword::getDefaultParams ( )
protected

◆ getDelimiter()

LayeredParameterizedPassword::getDelimiter ( )
protected

Definition at line 34 of file LayeredParameterizedPassword.php.

Referenced by getDefaultParams().

◆ partialCrypt()

LayeredParameterizedPassword::partialCrypt ( ParameterizedPassword  $passObj)

Finish the hashing of a partially hashed layered hash.

Given a password hash that is hashed using the first layer of this object's configuration, perform the remaining layers of password hashing in order to get an updated hash with all the layers.

Parameters
ParameterizedPassword$passObjPassword hash of the first layer
Exceptions
MWExceptionIf the first parameter is not of the correct type

Definition at line 97 of file LayeredParameterizedPassword.php.

References ParameterizedPassword\$args, Password\$hash, ParameterizedPassword\$params, $type, as, Password\crypt(), and ParameterizedPassword\getDelimiter().


The documentation for this class was generated from the following file: