53 parent::parseHash(
$hash );
55 if (
$hash ===
null ) {
63 if ( count( $parts ) < count( $paramKeys ) ) {
64 throw new PasswordError(
'Hash is missing required parameters.' );
68 $this->args = array_splice( $parts, count( $paramKeys ) );
69 $this->params = array_combine( $paramKeys, $parts );
75 $this->hash = array_pop( $this->args );
86 $str =
':' . $this->config[
'type'] .
':';
88 if ( count( $this->params ) || count( $this->args ) ) {
89 $str .= implode( $this->
getDelimiter(), array_merge( $this->params, $this->args ) );
Helper class for password hash types that have a delimited set of parameters inside of the hash.
getDefaultParams()
Return an ordered array of default parameters for this password hash.
array $params
Named parameters that have default values for this password type.
array $args
Extra arguments that were found in the hash.
needsUpdate()
Determine if the hash needs to be updated.
toString()
Convert this hash to a string that can be stored in the database.
getDelimiter()
Returns the delimiter for the parameters inside the hash.
parseHash( $hash)
Perform any parsing necessary on the hash to see if the hash is valid and/or to perform logic for see...
Show an error when any operation involving passwords fails to run.
Represents a password hash for use in authentication.
assertIsSafeSize( $hash)
Assert that hash will fit in a tinyblob field.
string $hash
String representation of the hash without the type.