Start · Sprachen · PHP · Referenz · hash_equals

hash_equals

Funktion

Vergleicht zwei Strings zeitkonstant — Pflicht bei Signatur-/Token-Vergleichen zur Timing-Attack-Abwehr.

seit PHP 5.6.0 Kategorie: crypto

Signatur

hash_equals(string $known_string, string $user_string): bool

Beschreibung

Ein naives === würde bei ungleicher Länge oder unterschiedlichen ersten Zeichen früher abbrechen — verräterisch für Angreifer.

Parameter

Name Typ Default Beschreibung
$known_string Pflicht string Erwarteter Wert.
$user_string Pflicht string Vom User geliefert.

Rückgabewert

Typ
bool
Beschreibung
true wenn identisch.

Beispiele

Token-Vergleich

<?php

if (hash_equals($storedToken, $requestToken)) { /* ok */ }