SymfonyWorld Online 2022 Winter Edition

hash_init

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_initInitialisiert einen schrittweisen Hashing-Kontext

Beschreibung

hash_init(
    string $algo,
    int $flags = 0,
    string $key = "",
    array $options = []
): HashContext

Parameter-Liste

algo

Der Name des gewählten Hash-Algorithmus (z. B. "md5", "sha256", "haval160,4" usw...). Eine Liste der unterstützten Algorithmen ist hash_algos() zu entnehmen.

flags

Optionale Einstellungen für die Erzeugung von Hashes. Aktuell wird nur eine Option unterstützt: HASH_HMAC. Wenn diese gesetzt ist, muss der Parameter key angegeben werden.

key

Ein geheimer Schlüssel zur Verwendung mit dem HMAC-Verfahren. Wenn HASH_HMAC bei flags angegeben ist, muss key angegeben werden.

options

Ein Array mit Optionen für die verschiedenen Hash-Algorithmen. Derzeit wird von den MurmurHash-Varianten nur der Parameter "seed" unterstützt.

Rückgabewerte

Gibt einen Hashing-Kontext zur Nutzung mit hash_update(), hash_update_stream(), hash_update_file(), und hash_final() zurück.

Changelog

Version Beschreibung
8.1.0 Der Parameter options wurde hinzugefügt.
7.2.0 Die Verwendung nicht-kryptografischer Hashfunktionen (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) mit HASH_HMAC ist nicht mehr möglich.
7.2.0 Gibt nun einen HashContext anstatt einer Ressource zurück.

Beispiele

Beispiel #1 Beispiel für schrittweises Hashing

<?php
$ctx 
hash_init('md5');
hash_update($ctx'Franz jagt im komplett verwahrlosten ');
hash_update($ctx'Taxi quer durch Bayern.');
echo 
hash_final($ctx);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

ba4b9da310763a91f8edc7c185a1e4bf

Siehe auch

  • hash() - Berechnet den Hash einer Nachricht
  • hash_algos() - Liefert eine Liste der verfügbaren Hashing-Algorithmen
  • hash_file() - Berechnet den Hash des Inhalts einer Datei
  • hash_hmac() - Berechnet einen Hash mit Schlüssel unter Verwendung von HMAC
  • hash_hmac_file() - Berechnet einen Hash einer Datei mit Schlüssel unter Verwendung von HMAC

add a note

User Contributed Notes

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