<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.crypto.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'book.hash.php',
    1 => 'Hash',
    2 => 'HASH Message Digest Framework',
  ),
  'up' => 
  array (
    0 => 'refs.crypto.php',
    1 => 'Kryptografische Erweiterungen',
  ),
  'prev' => 
  array (
    0 => 'refs.crypto.php',
    1 => 'Kryptografische Erweiterungen',
  ),
  'next' => 
  array (
    0 => 'hash.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/hash/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.hash.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.hash" class="book">
 
 <h1 class="title">HASH Message Digest Framework</h1>
 

 
 <div id="intro.hash" class="preface">
  <h1 class="title">Einführung</h1>
  <p class="para">
   Diese Erweiterung bietet Funktionen für die direkte oder inkrementelle
   Verarbeitung von Nachrichten beliebiger Länge unter Verwendung
   verschiedener Hash-Algorithmen. Dazu gehören auch die Erzeugung von
   <abbr title="Hash-based Message Authentication Code">HMAC</abbr>-Werten und Schlüsselableitungen einschließlich
   <abbr title="HMAC Key Definition Function">HKDF</abbr> und <abbr title="Password-Based Key Derivation Function 2">PBKDF2</abbr>.
  </p>
  <p class="para">
   Es gibt im Wesentlichen drei Kategorien von Hash-Algorithmen. Siehe
   <span class="function"><a href="function.hash-algos.php" class="function">hash_algos()</a></span> für eine vollständige Liste.

   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Prüfsummenalgorithmen (z. B. <code class="literal">&quot;crc32b&quot;</code> oder
      <code class="literal">&quot;adler32&quot;</code>):
      Diese werden zur Berechnung von Prüfsummen verwendet, was z. B. nützlich
      ist, um Übertragungsfehler zu erkennen. Sie sind in der Regel sehr
      schnell. Da diese Algorithmen oft Werte erzeugen, die leicht zu
      &quot;erraten&quot; sind oder manipuliert werden können, um Kollisionen zu
      erzeugen, sind sie für kryptografische Zwecke völlig ungeeignet.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Nicht-kryptografische Algorithmen (z. B. die xxHash-Familie):
      Diese Algorithmen werden häufig zur Berechnung von Hashwerten für
      Hashtabellen verwendet, weil sie darauf ausgelegt sind, eine gute
      Verteilung über beliebige Zeichenketten zu erzeugen. Auch sie sind im
      Allgemeinen schnell, aber ebenfalls nicht für kryptografische Zwecke
      geeignet.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Kryptographische Algorithmen (z. B. die SHA-2-Familie):
      Diese Algorithmen wurden entwickelt, um Hashwerte zu erzeugen, die die
      Eingaben darstellen, aber weder erraten werden können noch anfällig für
      Kollisionen sind. Die Leistung ist oft zweitrangig, aber moderne
      Hardware unterstützt oft eine spezielle Handhabung für diese
      Algorithmen, die PHP zu nutzen versucht, wenn sie verfügbar ist.
     </span>
     <span class="simpara">
      Das Computer Security Resource Center des <abbr>NIST</abbr> bietet
      eine <a href="https://csrc.nist.gov/projects/hash-functions" class="link external">&raquo;&nbsp;Beschreibung
      der Algorithmen, die derzeit von den United States Federal Information
      Processing Standards (FIPS) zugelassen sind</a>.
     </span>
     <div class="caution"><strong class="caution">Achtung</strong>
      <p class="para">
       Einige der frühen kryptographischen Algorithmen wie
       <code class="literal">&quot;md4&quot;</code>, <code class="literal">&quot;md5&quot;</code> und
       <code class="literal">&quot;sha1&quot;</code> haben sich als anfällig für
       Kollisionsangriffe erwiesen und es wird allgemein empfohlen, diese
       nicht mehr für kryptographische Anwendungen zu verwenden.
      </p>
     </div>
    </li>
   </ul>
  </p>

  <p class="para">
   Siehe auch die
   <a href="faq.passwords.php" class="link">FAQ zum sicheren Hashing von Passwörtern</a>
   für Informationen über bewährte Verfahren bei der Verwendung von
   Hash-Funktionen im Umgang mit Passwörtern.
  </p>
 </div>
 

 







 





 




 








<ul class="chunklist chunklist_book"><li><a href="hash.setup.php">Installation/Konfiguration</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="hash.installation.php">Installation</a></li><li><a href="hash.resources.php">Ressource-Typen</a></li></ul></li><li><a href="hash.constants.php">Vordefinierte Konstanten</a></li><li><a href="class.hashcontext.php">HashContext</a> — The HashContext class<ul class="chunklist chunklist_book chunklist_children"><li><a href="hashcontext.construct.php">HashContext::__construct</a> — Private constructor to disallow direct instantiation</li><li><a href="hashcontext.serialize.php">HashContext::__serialize</a> — Serializes the HashContext object</li><li><a href="hashcontext.unserialize.php">HashContext::__unserialize</a> — Deserializes the data parameter into a HashContext object</li></ul></li><li><a href="ref.hash.php">Hash-Funktionen</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.hash.php">hash</a> — Berechnet den Hash einer Nachricht</li><li><a href="function.hash-algos.php">hash_algos</a> — Liefert eine Liste der verf&uuml;gbaren Hashing-Algorithmen</li><li><a href="function.hash-copy.php">hash_copy</a> — Dupliziert einen Hash-Kontext</li><li><a href="function.hash-equals.php">hash_equals</a> — Timing attack safe string comparison</li><li><a href="function.hash-file.php">hash_file</a> — Berechnet den Hash des Inhalts einer Datei</li><li><a href="function.hash-final.php">hash_final</a> — Schlie&szlig;t einen schrittweisen Hashing-Vorgang ab und liefert sein Ergebnis</li><li><a href="function.hash-hkdf.php">hash_hkdf</a> — Generate a HKDF key derivation of a supplied key input</li><li><a href="function.hash-hmac.php">hash_hmac</a> — Berechnet einen Hash mit Schl&uuml;ssel unter Verwendung von HMAC</li><li><a href="function.hash-hmac-algos.php">hash_hmac_algos</a> — Return a list of registered hashing algorithms suitable for hash_hmac</li><li><a href="function.hash-hmac-file.php">hash_hmac_file</a> — Berechnet einen Hash einer Datei mit Schl&uuml;ssel unter Verwendung von HMAC</li><li><a href="function.hash-init.php">hash_init</a> — Initialisiert einen schrittweisen Hashing-Kontext</li><li><a href="function.hash-pbkdf2.php">hash_pbkdf2</a> — Generate a PBKDF2 key derivation of a supplied password</li><li><a href="function.hash-update.php">hash_update</a> — F&uuml;gt Daten an einen aktiven Hash-Kontext an</li><li><a href="function.hash-update-file.php">hash_update_file</a> — F&uuml;gt Daten aus einer Datei an einen aktiven Hash-Kontext an</li><li><a href="function.hash-update-stream.php">hash_update_stream</a> — F&uuml;gt Daten aus einem Stream an einen aktiven Hash-Kontext an</li></ul></li></ul></div><?php manual_footer($setup); ?>