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

contributors($setup);

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

 <p class="simpara">Ces constantes sont définies par cette
extension, et ne sont disponibles que si cette extension a été compilée avec
PHP, ou bien chargée au moment de l&#039;exécution.</p>

 <p class="simpara">
  L&#039;extension Xpass fournit divers ensembles de constantes.
  Méthodes de hachage (<strong><code><a href="xpass.constants.php#constant.crypt-prefix-std-des">CRYPT_PREFIX_<span class="replaceable">*</span></a></code></strong>) pour le
  paramètre prefix de <span class="function"><a href="function.crypt-gensalt.php" class="function">crypt_gensalt()</a></span>.
  Codes d&#039;erreur (<strong><code><a href="xpass.constants.php#constant.crypt-salt-ok">CRYPT_SALT_<span class="replaceable">*</span></a></code></strong>) retournés par
  <span class="function"><a href="function.crypt-checksalt.php" class="function">crypt_checksalt()</a></span>.
  Algorithmes de mot de passe (<strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_<span class="replaceable">*</span></a></code></strong>) pour le
  paramètre algo de <span class="function"><a href="function.password-hash.php" class="function">password_hash()</a></span>.
 </p>

 <dl id="xpass.constants.algo">
  <strong class="title">Méthodes de hashage</strong>
  
   <dt id="constant.crypt-prefix-std-des">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-std-des">CRYPT_PREFIX_STD_DES</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     La méthode de hachage originale de Unix V7, basée sur le chiffrement par bloc DES.
     Étant donné que DES est peu coûteux sur le matériel moderne,
     qu&#039;il n&#039;y a que <code class="literal">4096</code> sels possibles et 2**56 passphrases distinctes,
     qui sont tronquées à 8 caractères,
     il est possible de trouver n&#039;importe quel mot de passe haché avec cette méthode.
     Elle ne devrait être utilisée que pour supporter les anciens systèmes d&#039;exploitation
     qui ne supportent aucun autre algorithme de génération de hachage, en raison de la faiblesse des hachages DES.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-ext-des">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-ext-des">CRYPT_PREFIX_EXT_DES</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Une extension du DES traditionnel, qui élimine la limite de longueur,
     augmente la taille du sel et rend le coût temporel réglable.
     Elle provient de BSDI BSD/OS et est également disponible sur au moins NetBSD,
     OpenBSD et FreeBSD en raison de l&#039;utilisation de la bibliothèque FreeSec de David Burren.
     Elle est bien meilleure que les hachages DES traditionnels et bigcrypt,
     mais ne devrait toujours pas être utilisée pour de nouveaux hachages.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-md5">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-md5">CRYPT_PREFIX_MD5</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Un hachage basé sur l&#039;algorithme MD5, développé à l&#039;origine par Poul-Henning Kamp pour FreeBSD.
     Supporté sur la plupart des Unix libres et les versions plus récentes de Solaris.
     Pas aussi faible que les hachages basés sur DES ci-dessous,
     mais MD5 est si peu coûteux sur le matériel moderne qu&#039;il ne devrait pas être utilisé pour de nouveaux hachages.
     Le coût de traitement n&#039;est pas ajustable.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-blowfish">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-blowfish">CRYPT_PREFIX_BLOWFISH</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Un hachage basé sur le chiffrement par bloc Blowfish, modifié pour avoir un calendrier de clés extra-coûteux.
     Développé à l&#039;origine par Niels Proles et David Mazieres pour OpenBSD et également supporté sur les versions récentes
     de FreeBSD et NetBSD, sur Solaris 10 et plus récent, et sur plusieurs distributions GNU/*/Linux.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sha256">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha256">CRYPT_PREFIX_SHA256</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Un hachage basé sur SHA-2 avec une sortie de 256 bits, développé à l&#039;origine par Ulrich Drepper pour GNU libc.
     Supporté sur Linux mais pas courant ailleurs.
     Acceptable pour de nouveaux hachages.
     Le paramètre de coût de traitement par défaut est <code class="literal">5000</code>,
     ce qui est trop faible pour le matériel moderne.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sha512">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha512">CRYPT_PREFIX_SHA512</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Un hachage basé sur SHA-2 avec une sortie de 512 bits, développé à l&#039;origine par Ulrich Drepper pour GNU libc.
     Supporté sur Linux mais pas courant ailleurs.
     Acceptable pour de nouveaux hachages.
     Le paramètre de coût de traitement par défaut est <code class="literal">5000</code>,
     ce qui est trop faible pour le matériel moderne.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-scrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-scrypt">CRYPT_PREFIX_SCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Scrypt est une fonction de dérivation de clé basée sur un mot de passe créée par Colin Percival,
     à l&#039;origine pour le service de sauvegarde en ligne Tarsnap.
     L&#039;algorithme a été spécifiquement conçu pour rendre coûteux les attaques matérielles
     personnalisées à grande échelle en nécessitant de grandes quantités de mémoire.
     En 2016, l&#039;algorithme scrypt a été publié par l&#039;IETF en tant que RFC 7914.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-gost-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-gost-yescrypt">CRYPT_PREFIX_GOST_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Gost-yescrypt utilise la sortie de yescrypt comme message d&#039;entrée pour HMAC avec
     la fonction de hachage GOST R 34.11-2012 (Streebog) avec un digest de 256 bits.
     Ainsi, les propriétés cryptographiques de yescrypt sont supplantées par celles de la fonction de hachage GOST.
     Cette méthode de hachage est utile dans les applications qui nécessitent un hachage de mot de passe moderne,
     mais doivent s&#039;appuyer sur des algorithmes GOST.
     La fonction de hachage GOST R 34.11-2012 (Streebog) a été publiée par l&#039;IETF en tant que RFC 6986.
     Acceptable pour de nouveaux hachages si nécessaire.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-yescrypt">CRYPT_PREFIX_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Yescrypt est un schéma de hachage de mot de passe évolutif conçu par Solar Designer,
     qui est basé sur le scrypt de Colin Percival.
     Bien que la force de yescrypt contre les attaques de devinettes de mot de passe provienne de sa conception d&#039;algorithme,
     sa sécurité cryptographique est garantie par son utilisation de SHA-256 sur la couche externe.
     La fonction de hachage SHA-256 a été publiée par le NIST dans le FIPS PUB 180-2
     (et ses révisions ultérieures telles que le FIPS PUB 180-4) et par l&#039;IETF en tant que RFC 4634
     (et par la suite RFC 6234).
     Recommandé pour de nouveaux hachages.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sm3crypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3crypt">CRYPT_PREFIX_SM3CRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Un hachage basé sur la fonction de hachage ShangMi 3 avec une sortie de 256 bits,
     qui utilise le même design que sha256crypt et/ou sha512crypt.
     Supporté sur EulerOS, Kylin, openEuler et openKylin, mais pas courant
     ailleurs. Acceptable pour de nouveaux hachages si nécessaire. Le paramètre
     de coût de traitement par défaut est 5000, ce qui est trop faible pour le matériel moderne.
    </span>
    <span class="simpara">
     Disponible à partir de 1.2.0 avec libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-prefix-sm3-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3-yescrypt">CRYPT_PREFIX_SM3_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Sm3-yescrypt utilise la sortie de yescrypt comme message d&#039;entrée pour HMAC
     avec la fonction de hachage ShangMi 3 avec un digest de 256 bits. Ainsi, les propriétés
     cryptographiques de yescrypt sont supplantées par celles de la fonction de hachage ShangMi 3.
     Cette méthode de hachage est utile dans les applications qui nécessitent un hachage de
     mot de passe moderne, mais doivent s&#039;appuyer sur des algorithmes approuvés par le Bureau
     chinois de l&#039;administration de la cryptographie commerciale d&#039;État (OSCCA). La fonction
     de hachage ShangMi 3 a été publiée dans la partie 3 : &quot;Fonctions de hachage dédiées&quot;
     de la norme ISO/IEC 10118-3:2018. Acceptable pour de nouveaux hachages si nécessaire.
    </span>
    <span class="simpara">
     Disponible à partir de 1.2.0 avec libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
 </dl>

 <dl id="xpass.constants.error">
  <strong class="title">Code d&#039;erreur</strong>
  
   <dt id="constant.crypt-salt-ok">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-ok">CRYPT_SALT_OK</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Pas d&#039;erreur.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-invalid">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-invalid">CRYPT_SALT_INVALID</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Méthode de hachage inconnue ou paramètres invalides.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-method-disabled">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-method-disabled">CRYPT_SALT_METHOD_DISABLED</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Méthode de hachage n&#039;est plus autorisée à être utilisée.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-method-legacy">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-method-legacy">CRYPT_SALT_METHOD_LEGACY</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Méthode de hachage n&#039;est plus considérée comme suffisamment forte.
    </span>
   </dd>
  
  
   <dt id="constant.crypt-salt-too-cheap">
    <strong><code><a href="xpass.constants.php#constant.crypt-salt-too-cheap">CRYPT_SALT_TOO_CHEAP</a></code></strong>
    (<span class="type"><a href="language.types.integer.php" class="type int">int</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     Coût des paramètres considéré comme trop faible.
    </span>
   </dd>
  
 </dl>

 <dl id="xpass.constants.password">
  <strong class="title">Algorithme de mot de passe</strong>
  
   <dt id="constant.password-sha512">
    <strong><code><a href="xpass.constants.php#constant.password-sha512">PASSWORD_SHA512</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sha512">PASSWORD_SHA512</a></code></strong> est utilisé pour créer de nouveaux hachages
     de mot de passe en utilisant l&#039;algorithme <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sha512">CRYPT_PREFIX_SHA512</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="constant.password-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.password-yescrypt">PASSWORD_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-yescrypt">PASSWORD_YESCRYPT</a></code></strong> est utilisé pour créer de nouveaux hachages
     de mot de passe en utilisant l&#039;algorithme <strong><code><a href="xpass.constants.php#constant.crypt-prefix-yescrypt">CRYPT_PREFIX_YESCRYPT</a></code></strong>.
    </span>
   </dd>
  
  
   <dt id="constant.password-sm3crypt">
    <strong><code><a href="xpass.constants.php#constant.password-sm3crypt">PASSWORD_SM3CRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sm3crypt">PASSWORD_SM3CRYPT</a></code></strong> est utilisé pour créer de nouveaux hachages
     de mot de passe en utilisant l&#039;algorithme <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3crypt">CRYPT_PREFIX_SM3CRYPT</a></code></strong>.
    </span>
    <span class="simpara">
     Disponible à partir de 1.2.0 avec libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
  
   <dt id="constant.password-sm3-yescrypt">
    <strong><code><a href="xpass.constants.php#constant.password-sm3-yescrypt">PASSWORD_SM3_YESCRYPT</a></code></strong>
    (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>)
   </dt>
   <dd>
    <span class="simpara">
     <strong><code><a href="xpass.constants.php#constant.password-sm3-yescrypt">PASSWORD_SM3_YESCRYPT</a></code></strong> est utilisé pour créer de nouveaux hachages
     de mot de passe en utilisant l&#039;algorithme <strong><code><a href="xpass.constants.php#constant.crypt-prefix-sm3-yescrypt">CRYPT_PREFIX_SM3_YESCRYPT</a></code></strong>.
    </span>
    <span class="simpara">
     Disponible à partir de 1.2.0 avec libcxcrypt &gt;= 4.5.0.
    </span>
   </dd>
  
 </dl>
</div>
<?php manual_footer($setup); ?>