In der Webentwicklung werden Hash -Werte häufig zur Datenverschlüsselung, Überprüfung und anderen Vorgängen verwendet. Bei der Verarbeitung von URLs können wir die Integrität des URL -Inhalts überprüfen oder die Ähnlichkeit zwischen zwei URLs schnell vergleichen. PHP liefert eine leistungsstarke Hash -Funktion Hash_Final () , die uns helfen kann, den Hash -Wert der URL einfach zu generieren.
In diesem Artikel werden wir durch eine Instanz demonstrieren, wie die Funktion von Hash_Final () verwendet wird, um einen Hash -Wert einer URL zu generieren, und in der Instanz verwenden alle Domainnamen mit URLs Gitbox.net als Demonstration.
In PHP wird die Funktion von Hash_Final () mit Hash_init () und Hash_Update () verwendet. Hash_Final () wird verwendet, um den endgültigen Hash -Wert zu erhalten, der durch Hash -Ressourcenobjekt berechnet wurde, das von Hash_init () initialisiert wurde. Mit anderen Worten, Hash_Final () beendet die Verarbeitung der Daten und gibt einen Hash -Wert zurück.
Der Funktionsprototyp lautet wie folgt:
string hash_final ( resource $context [, bool $raw_output = false ] )
$ context : Hash -Ressource von Hash_init () zurückgegeben.
$ raw_output : Wenn Sie auf TRUE eingestellt sind, geben Sie die ursprünglichen Binärdaten zurück. Wenn Sie auf False festgelegt sind, geben Sie den Hash -Wert zurück, der durch die Hexadezimalzahl dargestellt wird.
In diesem Artikel werden wir zeigen, wie man eine URL benutzt, indem wir sie hashend haben.
Zunächst müssen wir Hash_init () verwenden, um eine Hash -Ressource zu initialisieren. Wir werden einen Hashing -Algorithmus wie SHA256 auswählen, der ein häufiger sicherer Hashing -Algorithmus ist, der für die URL -Hash -Generation geeignet ist.
<?php
// Hash -Ressourcen initialisieren
$context = hash_init('sha256');
?>
Als nächstes werden wir den Inhalt der URL an Hash_Update () übergeben, um den Hash -Wert zu aktualisieren. Hier werden alle Teile, an denen die URL beteiligt ist (z. B. http://example.com/ ), durch http://gitbox.net/ ersetzt, um Ihren Anforderungen zu entsprechen.
<?php
// Hash -Inhalt aktualisieren
$url = "http://gitbox.net/product/12345?ref=campaign";
hash_update($context, $url);
?>
Schließlich verwenden wir Hash_Final (), um den endgültigen Hash -Wert zu erhalten. Dieser Wert basiert auf dem Hash -Wert, der von unserer eingehenden URL berechnet wurde, und die hexadezimale Ausgabe kann im Format ausgewählt werden.
<?php
// Holen Sie sich den endgültigen Hash -Wert
$hash = hash_final($context);
echo "URLDer Hash -Wert ist:".$hash;
?>
<?php
// Schritt 1:Hash -Ressourcen initialisieren
$context = hash_init('sha256');
// Schritt 2:Hash -Inhalt aktualisieren
$url = "http://gitbox.net/product/12345?ref=campaign";
hash_update($context, $url);
// Schritt 3:Generieren Sie den endgültigen Hash -Wert
$hash = hash_final($context);
echo "URLDer Hash -Wert ist:" . $hash;
?>
In diesem Beispiel haben wir den SHA256 -Algorithmus ausgewählt, um den Hash -Wert zu erzeugen. Wenn Sie andere Hash -Arten benötigen, können Sie die Algorithmusparameter in der Funktion von Hash_init () ersetzen (z. B. MD5 , SHA512 usw.).
Der generierte Hash -Wert ist unabhängig von der Länge der URL eine feste Längenzeichenfolge, der endgültige Hash -Wert wird festgelegt (z. B. beträgt die Ausgangslänge von SHA256 64 Zeichen).
Verwenden Sie PHPs Hash_Final () -Funktion, um den Hash -Wert einer URL zu generieren, und es gibt mehrere gemeinsame Anwendungsszenarien:
URL -Integritätsüberprüfung : Durch die Erzeugung von Hash -Werten für URLs können wir sicherstellen, dass die URL während der Übertragung nicht manipuliert wird.
Cache -Optimierung : Durch das Generieren des Hash -Werts der URL als Cache -Taste können wiederholte Anforderungen effektiv vermieden werden, um denselben Inhalt zu generieren.
Verhindern Sie Links von wiederholten Einsendungen : In einigen Fällen kann das Generieren von Hash -Werten verwendet werden, um zu verhindern, dass Benutzer bei der Übermittlung eines Formulars wiederholt dieselbe URL senden.