Aktueller Standort: Startseite> Neueste Artikel> Wie bekomme ich eine Hash -Verdauung von Daten in PHP mit Hash_Final?

Wie bekomme ich eine Hash -Verdauung von Daten in PHP mit Hash_Final?

gitbox 2025-05-27

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.

1. Was ist eine Hash -Zusammenfassung?

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.

2. Überblick über die Funktion von Hash_Final ()

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

3. grundlegende Schritte, um einen Hash -Digest mit Hash_Final () zu erhalten

Schritt 1: Initialisieren Sie den Hash -Kontext

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');

Schritt 2: Hash -Daten aktualisieren

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);

Schritt 3: Holen Sie sich die Hash -Zusammenfassung

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;

4. Beispielcode

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.

5. RAW_OUTPUT -Parameter verwenden

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

6. Praktische Anwendung: URL -Hash -Generation

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.

7. Schlussfolgerung

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.