In PHP ist Hash_FINAL () eine sehr nützliche Funktion, die einen abgeschlossenen Hash -Digest zurückgibt. Normalerweise verwenden wir bei Verwendung von Hash -Algorithmen von Streaming -Hash -Algorithmen (wie Hash_init () und Hash_Update () ) Hash_Final () , um den endgültigen Hash -Wert zu erhalten. In diesem Artikel wird in PHP die Funktion von Hash_Final () vorgestellt, um eine Hash -Verdauung von willkürlichen Daten zu erhalten und zu demonstrieren, wie sie betrieben werden.
Ein Hash-Digest ist ein Hashing-Algorithmus, der die Eingangsdaten in einen String mit fester Länge umwandelt. Diese Zusammenfassung wird normalerweise in Szenarien wie Datenintegritätsüberprüfung, digitalen Signaturen usw. verwendet. In PHP können verschiedene Hash -Algorithmen (wie MD5, SHA1, SHA256 usw.) verwendet werden, um eine Hash -Verdauung zu generieren.
Hash_Final () ist eine integrierte Funktion in PHP, die eine Hash-Berechnung vervollständigt und den endgültigen Hash-Wert zurückgibt. Es wird normalerweise in Verbindung mit Hash_init () und Hash_Update () verwendet.
Grammatik :
string hash_final ( resource $context [, bool $raw_output = false ] )
Parameterbeschreibung :
$ context : Hash -Kontext von Hash_init () zurückgegeben.
$ raw_output : Wenn wahr , geben Sie eine Hash -Verdauung im binären Format zurück, andernfalls gibt ein Hash -Verdau im hexadezimalen Format zurück (Standard ist falsch ).
Wir verwenden zunächst die Funktion von Hash_init (), um einen Hash -Kontext zu initialisieren. Diese Funktion erfordert die Angabe eines Hashing -Algorithmus (wie SHA256).
$context = hash_init('sha256');
Wir verwenden dann die Funktion von Hash_Update (), um die Daten zum Hash -Kontext hinzuzufügen. Sie können Hash_update () mehrmals aufrufen, um weitere Daten hinzuzufügen.
$data = "Hello, world!";
hash_update($context, $data);
Verwenden Sie schließlich die Funktion von Hash_Final (), um die endgültige Hash -Digest zu erhalten und die Hash -Berechnung zu beenden.
$hash = hash_final($context);
echo "The hash value is: " . $hash;
Hier ist ein vollständiges Beispiel, das zeigt, wie die Funktion von Hash_Final () verwendet wird, um einen SHA256 -Hash -Wert einer Zeichenfolge zu generieren:
<?php
// InitialisierungSHA256Hash -Kontext
$context = hash_init('sha256');
// Daten aktualisieren
$data = "This is some data to hash.";
hash_update($context, $data);
// Holen Sie sich die endgültige Hash -Zusammenfassung
$hash = hash_final($context);
// Ausgabe -Hash -Wert
echo "The SHA256 hash of the data is: " . $hash;
?>
Die Ausgabe wird eine 64-Zeichen-Hexadezimalzeichenfolge sein, die die SHA256-Hash-Digest der Daten darstellt.
Wenn Sie einen Hash -Digest im Binärformat anstelle des hexadezimalen Formats erhalten möchten, können Sie den Parameter raw_output auf true einstellen. Dies kann für einige Anwendungsszenarien nützlicher sein, z. B. für das Speichern von Hash -Werten in der Datenbank.
$binary_hash = hash_final($context, true);
echo "The raw hash value is: " . bin2hex($binary_hash); // Ausgabe ist eine hexadezimale Zeichenfolge
Wenn Sie den Hash einer URL berechnen möchten, kann Ihnen auch Hash_final () helfen. Wir können Hash_init () in Kombination mit Hash_Update () verwenden, um den Hash -Wert einer bestimmten URL zu erhalten. Angenommen, wir müssen den Hash -Wert der URL berechnen. Hier ist ein Beispiel:
<?php
// InitialisierungSHA256Hash -Kontext
$context = hash_init('sha256');
// Angenommen, wir wollen den Hash berechnenURL
$url = "https://gitbox.net/example/page";
// erneuernURLDaten
hash_update($context, $url);
// Holen Sie sich eine Hash -Zusammenfassung
$hash = hash_final($context);
// Ausgabe -Hash -Wert
echo "The hash of the URL is: " . $hash;
?>
In diesem Beispiel berechnen wir den SHA256 -Hash -Digest der URL https://gitbox.net/example/page . Bei Verwendung der Funktion von Hash_Final () wird immer ein Hash mit fester Länge zurückgegeben, unabhängig von der Länge oder dem Inhalt der URL.
Hash_Final () ist eine sehr leistungsstarke Funktion in PHP, die uns helfen kann, die Hash -Verdauungen von willkürlichen Daten leicht zu berechnen. Unabhängig davon, ob es sich um Dateiinhalte, Zeichenfolge oder URL usw. handelt, können wir sie verwenden, um Hash -Werte zu generieren. Wenn Sie die Verwendung von Hash_Final () beherrschen, können Sie Hash -Algorithmen besser verstehen und anwenden und die Überprüfung der Code -Sicherheit und die Datenintegritätsintegrität verbessern.