MediaWiki master
MediaWiki\Password\EncryptedPassword Class Reference

Helper class for passwords that use another password hash underneath it and encrypts that hash with a configured secret. More...

Inherits MediaWiki\Password\ParameterizedPassword.

Collaboration diagram for MediaWiki\Password\EncryptedPassword:

Public Member Functions

 crypt (string $password)
 Hash a password and store the result in this object.
 
 update ()
 Updates the underlying hash by encrypting it with the newest secret.
 
 verify (string $password)
 Checks whether the given password matches the hash stored in this object.
Parameters
string$passwordPassword to check
Returns
bool

 
- Public Member Functions inherited from MediaWiki\Password\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 MediaWiki\Password\Password
 __construct (PasswordFactory $factory, array $config, string $hash=null)
 Construct the Password object using a string hash.
 
 getType ()
 Get the type name of the password.
 

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 MediaWiki\Password\ParameterizedPassword
 parseHash (?string $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.
Parameters
string | null$hashThe hash, with the :<TYPE>: prefix stripped
Exceptions
PasswordErrorIf there is an error in parsing the hash

 
- Protected Member Functions inherited from MediaWiki\Password\Password
 assertIsSafeSize (string $hash)
 Assert that hash will fit in a tinyblob field.
 
 isSupported ()
 Whether current password type is supported on this system.
 

Additional Inherited Members

- Protected Attributes inherited from MediaWiki\Password\ParameterizedPassword
string[] $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 MediaWiki\Password\Password
array $config
 Array of configuration variables injected from the constructor.
 
PasswordFactory $factory
 Factory that created the object.
 
string null $hash
 String representation of the hash without the type.
 

Detailed Description

Helper class for passwords that use another password hash underneath it and encrypts that hash with a configured secret.

Since
1.24

Definition at line 33 of file EncryptedPassword.php.

Member Function Documentation

◆ crypt()

MediaWiki\Password\EncryptedPassword::crypt ( string $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.

Parameters
string$passwordPassword to hash
Exceptions
PasswordErrorIf an internal error occurs in hashing

Reimplemented from MediaWiki\Password\Password.

Definition at line 45 of file EncryptedPassword.php.

◆ getDefaultParams()

MediaWiki\Password\EncryptedPassword::getDefaultParams ( )
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.

Returns
array

Reimplemented from MediaWiki\Password\ParameterizedPassword.

Definition at line 38 of file EncryptedPassword.php.

◆ getDelimiter()

MediaWiki\Password\EncryptedPassword::getDelimiter ( )
protected

Returns the delimiter for the parameters inside the hash.

Returns
string

Reimplemented from MediaWiki\Password\ParameterizedPassword.

Definition at line 34 of file EncryptedPassword.php.

◆ update()

MediaWiki\Password\EncryptedPassword::update ( )

Updates the underlying hash by encrypting it with the newest secret.

Exceptions
PasswordErrorIf the configuration is not valid
Returns
bool True if the password was updated

Definition at line 84 of file EncryptedPassword.php.

◆ verify()

MediaWiki\Password\EncryptedPassword::verify ( string $password)

Checks whether the given password matches the hash stored in this object.

Parameters
string$passwordPassword to check
Returns
bool

Reimplemented from MediaWiki\Password\Password.

Definition at line 129 of file EncryptedPassword.php.


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