<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.password.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'password.constants.php',
    1 => 'Constantes pr&eacute;-d&eacute;finies',
    2 => 'Constantes pr&eacute;-d&eacute;finies',
  ),
  'up' => 
  array (
    0 => 'book.password.php',
    1 => 'Table de hachage de mot de passe',
  ),
  'prev' => 
  array (
    0 => 'password.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'ref.password.php',
    1 => 'Fonctions de hachage de mot de passe',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/password/constants.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="password.constants" class="appendix">
 <h1 class="title">Constantes pré-définies</h1>

 <p class="simpara">Les constantes listées ici sont
toujours disponibles dans PHP.</p>

 <p class="para">
  <dl>
   
    <dt id="constant.password-bcrypt">
     <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong>
     (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
    </dt>
    <dd>
     <p class="para">
      La constante <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong> est utilisée pour
      créer une nouvelle table de hachage de mot de passe en utilisant
      l&#039;algorithme <strong><code><a href="string.constants.php#constant.crypt-blowfish">CRYPT_BLOWFISH</a></code></strong>.
     </p>
     <p class="para">
      Elle a toujours retourné le résultat de hachage en utilisant le format
      crypt &quot;$2y$&quot;, qui sera toujours une chaîne de caractères de 60 caractères
      de long.
     </p>
     <p class="para">
      Options supportées :
     </p>
     <ul class="itemizedlist">
      <li class="listitem">
       <p class="para">
        <code class="literal">salt</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>) - permet de fournir manuellement un salt à utiliser
        pour le hachage du mot de passe. À noter que ceci va écraser tout salt généré
        automatiquement.
       </p>
       <p class="para">
        Si omis, un salt aléatoire sera généré par la fonction 
        <span class="function"><a href="function.password-hash.php" class="function">password_hash()</a></span> pour chaque mot de passe haché.
        C&#039;est bien le but de l&#039;opération et à partir de PHP 7.0.0 l&#039;option salt a été désapprouvée.
       </p>
      </li>
      <li class="listitem">
       <p class="para">
        <code class="literal">cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - le coût algorithmique à utiliser.
        Des exemples de ces valeurs peuvent être trouvés sur la page
        de la documentation de la fonction <span class="function"><a href="function.crypt.php" class="function">crypt()</a></span>.
       </p>
       <p class="para">
        Si omis, une valeur par défaut de <code class="literal">12</code> sera utilisée.
        C&#039;est une bonne base mais il serait possible de vouloir l&#039;augmenter suivant
        l&#039;architecture matérielle.
       </p>
      </li>
     </ul>
    </dd>
   
   
    <dt id="constant.password-bcrypt-default-cost">
     <strong><code><a href="password.constants.php#constant.password-bcrypt-default-cost">PASSWORD_BCRYPT_DEFAULT_COST</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <p class="para">
     </p>
     <p class="para">
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2i">
     <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong>
     (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
    </dt>
    <dd>
     <p class="para">
      <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong> est utilisé pour créer de nouveaux 
      hashs de mot de passe à l&#039;aide de l&#039;algorithme Argon2i.
     </p>
     <p class="para">
      Options prises en charge :
     </p>
     <ul class="itemizedlist">
      <li class="listitem">
       <p class="para">
        <code class="literal">memory_cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Mémoire maximale 
        (en kibioctets) pouvant être utilisée pour calculer le hachage Argon2. Par
        défaut à <strong><code><a href="password.constants.php#constant.password-argon2-default-memory-cost">PASSWORD_ARGON2_DEFAULT_MEMORY_COST</a></code></strong>.
       </p>
      </li>
      <li class="listitem">
       <p class="para">
        <code class="literal">time_cost</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Durée maximale de 
        temps qu&#039;il peut prendre pour calculer le hachage Argon2. Par 
        défaut à <strong><code><a href="password.constants.php#constant.password-argon2-default-time-cost">PASSWORD_ARGON2_DEFAULT_TIME_COST</a></code></strong>.
       </p>
      </li>
      <li class="listitem">
       <p class="para">
        <code class="literal">threads</code> (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>) - Nombre de threads à 
        utiliser pour calculer le hachage Argon2. Par défaut à 
        <strong><code><a href="password.constants.php#constant.password-argon2-default-threads">PASSWORD_ARGON2_DEFAULT_THREADS</a></code></strong>.
        Uniquement disponible avec libargon2, et non avec l&#039;implémentation
        libsodium.
       </p>
      </li>
     </ul>
     <p class="para">
      Disponible à partir de PHP  7.2.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2id">
     <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong>
     (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
    </dt>
    <dd>
     <p class="para">
      <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong> est utilisé pour créer de nouveaux 
      hashs de mot de passe à l&#039;aide de l&#039;algorithme Argon2id. Supporte les mêmes options que
      <a href="password.constants.php#constant.password-argon2i" class="link"><strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong></a>.
     </p>
     <p class="para">
      Disponible à partir de PHP  7.3.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2-default-memory-cost">
     <strong><code><a href="password.constants.php#constant.password-argon2-default-memory-cost">PASSWORD_ARGON2_DEFAULT_MEMORY_COST</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <p class="para">
      Quantité de mémoire par défaut (en octets) qui sera utilisée en
      essayant de calculer un hachage.
     </p>
     <p class="para">
      Disponible à partir de PHP  7.2.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2-default-time-cost">
     <strong><code><a href="password.constants.php#constant.password-argon2-default-time-cost">PASSWORD_ARGON2_DEFAULT_TIME_COST</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <p class="para">
      Durée de temps par défaut qui sera consacrée pour essayer de calculer
      un hachage.
     </p>
     <p class="para">
      Disponible à partir de PHP  7.2.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2-default-threads">
     <strong><code><a href="password.constants.php#constant.password-argon2-default-threads">PASSWORD_ARGON2_DEFAULT_THREADS</a></code></strong>
     (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
    </dt>
    <dd>
     <p class="para">
      Nombre par défaut de threads que Argon2lib va utiliser.
      Pas disponible avec l&#039;implémentation libsodium.
     </p>
     <p class="para">
      Disponible à partir de PHP  7.2.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-argon2-provider">
     <strong><code><a href="password.constants.php#constant.password-argon2-provider">PASSWORD_ARGON2_PROVIDER</a></code></strong>
     (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
    </dt>
    <dd>
     <p class="para">
     </p>
     <p class="para">
      Disponible à partir de PHP 7.4.0.
     </p>
    </dd>
   
   
    <dt id="constant.password-default">
     <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong>
     (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
    </dt>
    <dd>
     <p class="para">
      L&#039;algorithme par défaut à utiliser pour le hachage si aucun
      algorithme n&#039;est fourni. Cette valeur peut changer dans les futures
      versions de PHP où il est probable que de meilleurs algorithmes
      de hachage soient supportés.
     </p>
     <p class="para">
      Il est important de noter qu&#039;au fil du temps, cette constante peut changer.
      Il est donc crucial d&#039;être conscient que la longueur du hachage résultant peut varier.
      Par conséquent, lors de l&#039;utilisation de <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong>, le hachage résultant
      doit être stocké d&#039;une manière capable d&#039;accueillir des hachages arbitraires,
      la largeur recommandée est de <code class="literal">255</code> octets.
     </p>
     <span class="simpara">
      Actuellement, c&#039;est un alias de <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong>.
     </span>
    </dd>
   
  </dl>
 </p>

 <p class="formalpara">
  <h5 class="title">Historique</h5>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>7.4.0</td>
       <td>
        Les valeurs pour les constantes <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong>,
        <strong><code><a href="password.constants.php#constant.password-argon2i">PASSWORD_ARGON2I</a></code></strong>, <strong><code><a href="password.constants.php#constant.password-argon2id">PASSWORD_ARGON2ID</a></code></strong>
        et <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong> sont désormais des <a href="language.types.string.php" class="link">chaîne de caractères</a>s.
        Auparavant, elles étaient des <a href="language.types.integer.php" class="link">entier</a>s.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </p>
</div>
<?php manual_footer($setup); ?>