Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JCryptPasswordSimple
+ Graphe d'héritage de JCryptPasswordSimple:
+ Graphe de collaboration de JCryptPasswordSimple:

Liste de tous les membres

Fonctions membres publiques

 create ($password, $type=null)
 setCost ($cost)
 verify ($password, $hash)
 setDefaultType ($type)
 getDefaultType ()

Fonctions membres protégées

 getSalt ($length)

Attributs protégés

 $cost = 10
 $defaultType = '$2y$'

Additional Inherited Members

- Attributs publics inherited from JCryptPassword
const BLOWFISH = '$2y$'
const JOOMLA = 'Joomla'
const PBKDF = '$pbkdf$'
const MD5 = '$1$'

Description détaillée

Définition à la ligne 19 du fichier simple.php.


Documentation des fonctions membres

JCryptPasswordSimple::create (   $password,
  $type = null 
)

Creates a password hash

Paramètres:
string$passwordThe password to hash.
string$typeThe hash type.
Renvoie:
mixed The hashed password or false if the password is too long.
Depuis:
12.2
Exceptions:
InvalidArgumentException

Implémente JCryptPassword.

Définition à la ligne 44 du fichier simple.php.

Références JText\_(), JCryptPassword\BLOWFISH, JFactory\getApplication(), JCrypt\hasStrongPasswordSupport(), JCryptPassword\JOOMLA, et JCryptPassword\MD5.

{
// We set a maximum length to prevent abuse since it is unfiltered and not all controllers check.
// 55 is the maximum for bcrypt currently the strongest available method:
if (strlen($password) > 55)
{
JFactory::getApplication()->enqueueMessage(JText::_('JLIB_USER_ERROR_PASSWORD_TOO_LONG'), 'error');
return false;
}
if (empty($type))
{
}
switch ($type)
{
case '$2a$':
{
$type = '$2y$';
}
else
{
$type = '$2a$';
}
$salt = $type . str_pad($this->cost, 2, '0', STR_PAD_LEFT) . '$' . $this->getSalt(22);
return crypt($password, $salt);
$salt = $this->getSalt(12);
$salt = '$1$' . $salt;
return crypt($password, $salt);
$salt = $this->getSalt(32);
return md5($password . $salt) . ':' . $salt;
default:
throw new InvalidArgumentException(sprintf('Hash type %s is not supported', $type));
break;
}
}

+ Voici le graphe d'appel pour cette fonction :

JCryptPasswordSimple::getDefaultType ( )

Gets the default type

Renvoie:
string $type The default type
Depuis:
12.3

Implémente JCryptPassword.

Définition à la ligne 195 du fichier simple.php.

{
}
JCryptPasswordSimple::getSalt (   $length)
protected

Generates a salt of specified length. The salt consists of characters in the set [./0-9A-Za-z].

Paramètres:
integer$lengthThe number of characters to return.
Renvoie:
string The string of random characters.
Depuis:
12.2

Définition à la ligne 118 du fichier simple.php.

Références JCrypt\genRandomBytes().

{
$bytes = ceil($length * 6 / 8);
$randomData = str_replace('+', '.', base64_encode(JCrypt::genRandomBytes($bytes)));
return substr($randomData, 0, $length);
}

+ Voici le graphe d'appel pour cette fonction :

JCryptPasswordSimple::setCost (   $cost)

Sets the cost parameter for the generated hash for algorithms that use a cost factor.

Paramètres:
integer$costThe new cost value.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 104 du fichier simple.php.

{
$this->cost = $cost;
}
JCryptPasswordSimple::setDefaultType (   $type)

Sets a default type

Paramètres:
string$typeThe value to set as default.
Renvoie:
void
Depuis:
12.3

Implémente JCryptPassword.

Définition à la ligne 180 du fichier simple.php.

{
if (!empty($type))
{
$this->defaultType = $type;
}
}
JCryptPasswordSimple::verify (   $password,
  $hash 
)

Verifies a password hash

Paramètres:
string$passwordThe password to verify.
string$hashThe password hash to check.
Renvoie:
boolean True if the password is valid, false otherwise.
Depuis:
12.2

Implémente JCryptPassword.

Définition à la ligne 137 du fichier simple.php.

Références JCrypt\hasStrongPasswordSupport().

{
// Check if the hash is a blowfish hash.
if (substr($hash, 0, 4) == '$2a$' || substr($hash, 0, 4) == '$2y$')
{
{
$type = '$2y$';
}
else
{
$type = '$2a$';
}
$hash = $type . substr($hash, 4);
return (crypt($password, $hash) === $hash);
}
// Check if the hash is an MD5 hash.
if (substr($hash, 0, 3) == '$1$')
{
return (crypt($password, $hash) === $hash);
}
// Check if the hash is a Joomla hash.
if (preg_match('#[a-z0-9]{32}:[A-Za-z0-9]{32}#', $hash) === 1)
{
return md5($password . substr($hash, 33)) == substr($hash, 0, 32);
}
return false;
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des données membres

JCryptPasswordSimple::$cost = 10
protected

Définition à la ligne 25 du fichier simple.php.

JCryptPasswordSimple::$defaultType = '$2y$'
protected

Définition à la ligne 31 du fichier simple.php.


La documentation de cette classe a été générée à partir du fichier suivant :