<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.mhash.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.mhash-keygen-s2k.php',
    1 => 'mhash_keygen_s2k',
    2 => 'G&eacute;n&egrave;re une cl&eacute;',
  ),
  'up' => 
  array (
    0 => 'ref.mhash.php',
    1 => 'Fonctions Mhash',
  ),
  'prev' => 
  array (
    0 => 'function.mhash-get-hash-name.php',
    1 => 'mhash_get_hash_name',
  ),
  'next' => 
  array (
    0 => 'book.openssl.php',
    1 => 'OpenSSL',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/mhash/functions/mhash-keygen-s2k.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.mhash-keygen-s2k" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">mhash_keygen_s2k</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">mhash_keygen_s2k</span> &mdash; <span class="dc-title">Génère une clé</span></p>

 </div>

 <div id="function.mhash-keygen-s2k-refsynopsisdiv">
  <div class="warning"><strong class="warning">Avertissement</strong><p class="simpara">
 Cette fonction est <em>OBSOLÈTE</em> à partir de PHP 8.1.0.
 Dépendre de cette fonction est fortement déconseillé.
</p></div>
 </div>

 <div class="refsect1 description" id="refsect1-function.mhash-keygen-s2k-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="attribute"><a href="class.deprecated.php">#[\Deprecated]</a> </span><br>
   <span class="methodname"><strong>mhash_keygen_s2k</strong></span>(<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$algo</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$password</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$salt</code></span>,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$length</code></span><br>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Génère une clé suivant l&#039;<code class="parameter">algo</code> fourni,
   en utilisant le mot de passe <code class="parameter">password</code>
   fourni.
  </p>
  <p class="para">
   Cette fonction utilise l&#039;algorithme <code class="literal">Salted S2K</code>, spécifié
   dans OpenPGP (<a href="https://datatracker.ietf.org/doc/html/rfc2440" class="link external">&raquo;&nbsp;RFC 2440</a>).
  </p>
  <p class="para">
   N&#039;oubliez pas que les mots de passe fournis par les utilisateurs
   ne sont pas conseillés pour faire des clés cryptographiques,
   étant donné que les utilisateurs normaux retiennent des mots
   de passe qu&#039;ils peuvent saisir au clavier. Ces mots de passe
   utilisent uniquement 6 à 7 des 8 bits d&#039;un caractère (voire moins).
   Il est vivement recommandé d&#039;appliquer une fonction de transformation
   (comme celle-ci), à un mot de passe utilisateur.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.mhash-keygen-s2k-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">algo</code></dt>
     <dd>
      <p class="para">
       L&#039;identifiant du hash utilisé pour créer la clé.
       Une parmi les constantes <strong><code>MHASH_hashname</code></strong>.
      </p>
     </dd>
    
    
     <dt><code class="parameter">password</code></dt>
     <dd>
      <p class="para">
       Mot de passe fourni par l&#039;utilisateur.
      </p>
     </dd>
    
    
     <dt><code class="parameter">salt</code></dt>
     <dd>
      <p class="para">
       Doit être différent et suffisamment aléatoire pour chaque
       clé qu&#039;on génère, afin de créer des clés différentes.
       Du fait que le paramètre <code class="parameter">salt</code>
       doit être connu lorsqu&#039;on vérifie les clés, c&#039;est une
       bonne idée de l&#039;ajouter à la clé. Le paramètre salt doit avoir
       une longueur de 8 octets, et sera complété de zéro si l&#039;on en
       fournit un d&#039;une taille inférieure.
      </p>
     </dd>
    
    
     <dt><code class="parameter">length</code></dt>
     <dd>
      <p class="para">
       La longueur de la clé, en octets.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.mhash-keygen-s2k-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne la clé générée, sous la forme d&#039;une <a href="language.types.string.php" class="link">chaîne de caractères</a>, ou
   <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> si une erreur survient.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.mhash-keygen-s2k-changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.1.0</td>
       <td>
        Cette fonction a été rendue obsolète.
        Utiliser les <a href="ref.hash.php" class="link">fonctions <code class="literal">hash_*()</code></a> à la place.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


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