MediaWiki REL1_34
|
Implements Argon2, a modern key derivation algorithm designed to resist GPU cracking and side-channel attacks. More...
Public Member Functions | ||||||
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.
| ||||||
equals ( $other) | ||||||
Compare one Password object to this object.By default, do a timing-safe string comparison on the result of Password::toString() for each object. This can be overridden to do custom comparison, but it is not recommended unless necessary.
| ||||||
needsUpdate () | ||||||
Determine if the hash needs to be updated.
| ||||||
toString () | ||||||
Convert this hash to a string that can be stored in the database.The resulting string should be considered the seralized representation of this hash, i.e., if the return value were recycled back into PasswordFactory::newFromCiphertext, the returned object would be equivalent to this; also, if two objects return the same value from this function, they are considered equivalent.
| ||||||
verify ( $password) | ||||||
Checks whether the given password matches the hash stored in this object.
| ||||||
Public Member Functions inherited from Password | ||||||
__construct (PasswordFactory $factory, array $config, $hash=null) | ||||||
Construct the Password object using a string hash. | ||||||
getType () | ||||||
Get the type name of the password. | ||||||
Protected Member Functions | |
isSupported () | |
Whether current password type is supported on this system.
| |
Protected Member Functions inherited from Password | |
assertIsSafeSize ( $hash) | |
Assert that hash will fit in a tinyblob field. | |
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. | |
Private Member Functions | |
prepareParams () | |
Static Private Attributes | |
static null[] | $knownOptions |
Array with known password_hash() option names as keys. | |
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 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. | |
Implements Argon2, a modern key derivation algorithm designed to resist GPU cracking and side-channel attacks.
Definition at line 30 of file Argon2Password.php.
Argon2Password::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 75 of file Argon2Password.php.
References prepareParams().
Argon2Password::equals | ( | $other | ) |
Compare one Password object to this object.By default, do a timing-safe string comparison on the result of Password::toString() for each object. This can be overridden to do custom comparison, but it is not recommended unless necessary.
Password | string | $other | The other password |
Reimplemented from Password.
Definition at line 83 of file Argon2Password.php.
References verify(), and wfDeprecated().
|
protected |
Whether current password type is supported on this system.
Reimplemented from Password.
Definition at line 43 of file Argon2Password.php.
Argon2Password::needsUpdate | ( | ) |
Determine if the hash needs to be updated.
Reimplemented from Password.
Definition at line 115 of file Argon2Password.php.
References prepareParams().
|
private |
Definition at line 51 of file Argon2Password.php.
Referenced by crypt(), and needsUpdate().
Argon2Password::toString | ( | ) |
Convert this hash to a string that can be stored in the database.The resulting string should be considered the seralized representation of this hash, i.e., if the return value were recycled back into PasswordFactory::newFromCiphertext, the returned object would be equivalent to this; also, if two objects return the same value from this function, they are considered equivalent.
PasswordError | if password cannot be serialized to fit a tinyblob. |
Reimplemented from Password.
Definition at line 106 of file Argon2Password.php.
References $res, and Password\assertIsSafeSize().
Argon2Password::verify | ( | $password | ) |
Checks whether the given password matches the hash stored in this object.
string | $password | Password to check |
Reimplemented from Password.
Definition at line 97 of file Argon2Password.php.
Referenced by equals().
|
staticprivate |
Array with known password_hash() option names as keys.
Definition at line 34 of file Argon2Password.php.