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.
"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.
     
    
       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.
