<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'password.constants.php',
    1 => 'Vordefinierte Konstanten',
    2 => 'Vordefinierte Konstanten',
  ),
  'up' => 
  array (
    0 => 'book.password.php',
    1 => 'Password Hashing',
  ),
  'prev' => 
  array (
    0 => 'password.installation.php',
    1 => 'Installation',
  ),
  'next' => 
  array (
    0 => 'ref.password.php',
    1 => 'Passwort-Hashing-Funktionen',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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">Vordefinierte Konstanten</h1>

 <p class="simpara">Die aufgelisteten Konstanten
stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.</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">
      <strong><code><a href="password.constants.php#constant.password-bcrypt">PASSWORD_BCRYPT</a></code></strong> wird verwendet, um neue
      Passwort-Hashes unter Verwendung des <strong><code><a href="string.constants.php#constant.crypt-blowfish">CRYPT_BLOWFISH</a></code></strong>
      Algorithmus zu erzeugen.
     </p>
     <p class="para">
      Dies ergibt immer einen Hash, der das &quot;$2y$&quot;-Crypt-Format verwendet und
      immer 60 Zeichen lang ist.
     </p>
     <p class="para">
      Unterstützte Optionen:
     </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>) - um manuell ein Salt
        anzugeben, das beim Hashing des Passworts verwendet wird. Es ist zu
        beachten, dass dies die automatische Erzeugung des Salt verhindert.
       </p>
       <p class="para">
        Wird diese Option ausgelassen, dann wird von
        <span class="function"><a href="function.password-hash.php" class="function">password_hash()</a></span> ein zufälliges Salt für jedes
        gehashte Passwort erzeugt. Dies ist die vorgesehene Funktionsweise,
        und von PHP 7.0.0 an wird die salt-Option missbilligt.
       </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>) - bezeichnet den
        algorithmischen Aufwand, der angewendet werden soll. Beispiele dieses
        Wertes können der <span class="function"><a href="function.crypt.php" class="function">crypt()</a></span>-Dokumentation entnommen
        werden.
       </p>
       <p class="para">
        Wird diese Option ausgelassen, dann wird der Standardwert
        <code class="literal">12</code> verwendet. Das ist eine gute Ausgangsbasis, aber
        es ist zu erwägen, diesen Wert in Abhängigkeit von der Hardware zu
        erhöhen.
       </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> wird verwendet, um neue
      Passwort-Hashes unter Verwendung des Argon2i-Algorithmus zu erzeugen.
     </p>
     <p class="para">
      Unterstützte Optionen:
     </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>) - die Obergrenze des
        Speichers (in Kibibytes), der verwendet werden darf, um den Argon2-Hash
        zu berechnen. Der Vorgabewert ist
        <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>) - die Höchstdauer der
        Berechnung des Argon2-Hashs. Der Vorgabewert ist
        <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>) - Die Anzahl der
        Threads, die für die Berechnung des Argon2-Hashs verwendet werden. Der
        Vorgabewert ist <strong><code><a href="password.constants.php#constant.password-argon2-default-threads">PASSWORD_ARGON2_DEFAULT_THREADS</a></code></strong>.
        Nur mit libargon2 verfügbar, nicht mit der libsodium-Implementierung.
       </p>
      </li>
     </ul>
     <p class="para">
      Verfügbar von PHP 7.2.0 an.
     </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> wird verwendet, um neue
      Passwort-Hashes unter Verwendung des Argon2id-Algorithmus zu erzeugen.
      Es werden dieselben Optionen wie bei
      <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>
      unterstützt.
     </p>
     <p class="para">
      Verfügbar von PHP 7.3.0 an.
     </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">
      Der Vorgabewert des Speichers in Bytes, der beim Versuch, den Hash zu
      berechnen, verwenden wird.
     </p>
     <p class="para">
      Verfügbar von PHP 7.2.0 an.
     </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">
      Der Vorgabewert der Dauer, die beim Versuch, den Hash zu berechnen,
      verwenden wird.
     </p>
     <p class="para">
      Verfügbar von PHP 7.2.0 an.
     </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">
      Der Vorgabewert der Anzahl Threads, die Argon2lib verwenden wird.
     </p>
     <p class="para">
      Verfügbar von PHP 7.2.0 an.
     </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">
      Verfügbar von PHP 7.4.0 an.
     </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">
      Der Vorgabewert des Algorithmus, der für das Hashing verwendet wird,
      wenn kein Algorithmus angegeben wird. Dies kann sich in neueren
      PHP-Releases ändern, wenn neuere, stärkere Hash-Algorithmen unterstützt
      werden.
     </p>
     <p class="para">
      Es ist zu betonen, dass sich diese Konstante im Lauf der Zeit ändern
      kann. Daher ist es wichtig zu beachten, dass sich die Länge des
      resultierenden Hashs ändern kann. Also sollte bei Verwendung von
      <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong> der sich ergebende Hash so
      gespeichert werden, dass beliebige Hashes gespeichert werden können; die
      empfohlene Breite ist <code class="literal">255</code> Bytes.
     </p>
     <span class="simpara">
      Derzeit ist dies ein Alias für <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">Changelog</h5>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>7.4.0</td>
       <td>
        Die Werte der Passwort-Algorithmen-IDs
        (<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> und
        <strong><code><a href="password.constants.php#constant.password-default">PASSWORD_DEFAULT</a></code></strong>) sind nun <a href="language.types.string.php" class="link">String</a>s. Zuvor waren
        es <a href="language.types.integer.php" class="link">Integer</a>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </p>

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