MediaWiki REL1_34
|
This password hash type layers one or more parameterized password types on top of each other. More...
Public Member Functions | |
crypt ( $password) | |
Hash a password and store the result in this object. | |
partialCrypt (ParameterizedPassword $passObj) | |
Finish the hashing of a partially hashed layered hash. | |
Public Member Functions inherited from ParameterizedPassword | |
needsUpdate () | |
Determine if the hash needs to be updated. | |
toString () | |
Convert this hash to a string that can be stored in the database. | |
Public Member Functions inherited from Password | |
__construct (PasswordFactory $factory, array $config, $hash=null) | |
Construct the Password object using a string hash. | |
equals ( $other) | |
Compare one Password object to this object. | |
getType () | |
Get the type name of the password. | |
verify ( $password) | |
Checks whether the given password matches the hash stored in this object. | |
Protected Member Functions | |
getDefaultParams () | |
Return an ordered array of default parameters for this password hash. | |
getDelimiter () | |
Returns the delimiter for the parameters inside the hash. | |
Protected Member Functions inherited from ParameterizedPassword | |
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. | |
Protected Member Functions inherited from Password | |
assertIsSafeSize ( $hash) | |
Assert that hash will fit in a tinyblob field. | |
isSupported () | |
Whether current password type is supported on this system. | |
Additional Inherited Members | |
Public Attributes inherited from Password | |
const | MAX_HASH_SIZE = 255 |
Hash must fit in user_password, which is a tinyblob. | |
Protected Attributes inherited from ParameterizedPassword | |
array | $args = [] |
Extra arguments that were found in the hash. | |
array | $params = [] |
Named parameters that have default values for this password type. | |
Protected Attributes inherited from Password | |
array | $config |
Array of configuration variables injected from the constructor. | |
PasswordFactory | $factory |
Factory that created the object. | |
string | $hash |
String representation of the hash without the type. | |
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.
Definition at line 33 of file LayeredParameterizedPassword.php.
LayeredParameterizedPassword::crypt | ( | $password | ) |
Hash a password and store the result in this object.
The result of the password hash should be put into the internal state of the hash object.
string | $password | Password to hash |
PasswordError | If an internal error occurs in hashing |
Reimplemented from Password.
Definition at line 56 of file LayeredParameterizedPassword.php.
References ParameterizedPassword\$args, Password\$hash, ParameterizedPassword\$params, and $type.
|
protected |
Return an ordered array of default parameters for this password hash.
The keys should be the parameter names and the values should be the default values. Additionally, the order of the array should be the order in which they appear in the hash.
When parsing a password hash, the constructor will split the hash based on the delimiter, and consume as many parts as it can, matching each to a parameter in this list. Once all the parameters have been filled, all remaining parts will be considered extra arguments, except, of course, for the very last part, which is the hash itself.
Reimplemented from ParameterizedPassword.
Definition at line 38 of file LayeredParameterizedPassword.php.
References ParameterizedPassword\$params, and $type.
|
protected |
Returns the delimiter for the parameters inside the hash.
Reimplemented from ParameterizedPassword.
Definition at line 34 of file LayeredParameterizedPassword.php.
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.
ParameterizedPassword | $passObj | Password hash of the first layer |
MWException | If the first parameter is not of the correct type |
Definition at line 99 of file LayeredParameterizedPassword.php.
References ParameterizedPassword\$args, Password\$hash, ParameterizedPassword\$params, $type, Password\crypt(), and ParameterizedPassword\getDelimiter().