34 'rounds' => $this->config[
'cost'],
43 parent::parseHash(
$hash );
45 $this->params[
'rounds'] = (int)$this->params[
'rounds'];
54 public function crypt( $password ) {
55 if ( !defined(
'CRYPT_BLOWFISH' ) ) {
56 throw new MWException(
'Bcrypt is not supported.' );
63 if ( !isset( $this->args[0] ) ) {
64 $this->args[] = substr(
76 sprintf(
'$2y$%02d$%s', (
int)$this->params[
'rounds'], $this->args[0] ) );
78 if ( !is_string(
$hash ) || strlen(
$hash ) <= 13 ) {
84 $this->params[
'rounds'] = (int)$parts[0];
85 $this->args[0] = substr( $parts[1], 0, 22 );
86 $this->hash = substr( $parts[1], 22 );
A Bcrypt-hashed password.
parseHash( $hash)
Perform any parsing necessary on the hash to see if the hash is valid and/or to perform logic for see...
getDelimiter()
Returns the delimiter for the parameters inside the hash.
getDefaultParams()
Return an ordered array of default parameters for this password hash.
static generate( $bytes, $forceStrong=false)
Generate a run of (ideally) cryptographically random data and return it in raw binary form.
Helper class for password hash types that have a delimited set of parameters inside of the hash.
Show an error when any operation involving passwords fails to run.
string $hash
String representation of the hash without the type.