PHP 8.4.2 Released!

Einführung

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 HMAC-Werten und Schlüsselableitungen einschließlich HKDF und PBKDF2.

Es gibt im Wesentlichen drei Kategorien von Hash-Algorithmen. Siehe hash_algos() für eine vollständige Liste.

  • Prüfsummenalgorithmen (z. B. "crc32b" oder "adler32"): 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 "erraten" sind oder manipuliert werden können, um Kollisionen zu erzeugen, sind sie für kryptografische Zwecke völlig ungeeignet.
  • 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.
  • 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. Das Computer Security Resource Center des NIST bietet eine » Beschreibung der Algorithmen, die derzeit von den United States Federal Information Processing Standards (FIPS) zugelassen sind.
    Achtung

    Einige der frühen kryptographischen Algorithmen wie "md4", "md5" und "sha1" haben sich als anfällig für Kollisionsangriffe erwiesen und es wird allgemein empfohlen, diese nicht mehr für kryptographische Anwendungen zu verwenden.

Siehe auch die FAQ zum sicheren Hashing von Passwörtern für Informationen über bewährte Verfahren bei der Verwendung von Hash-Funktionen im Umgang mit Passwörtern.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top