PHP
Referenzliste
hash_equals
Hash-Funktionen
Befehl:
bool hash_equals ( string $known_string , string $user_string )
Parameter-Liste:
Beschreibung | |
---|---|
Der String bekannter Länge zu vergleichen gegen | |
die vom Benutzer angegebene Zeichenfolge |
Rückgabewerte:
Gibt
TRUE
zurück, wenn die beiden Strings gleich sind, sonst FALSE
. Beschreibung:
Vergleicht zwei Strings zur gleichen Zeit mit, ob sie gleich sind oder nicht.
Diese Funktion sollte verwendet werden Timing-Attacken zu mindern; zum Beispiel, wenn bei der Prüfung crypt() Passwort-Hashes.
Diese Funktion sollte verwendet werden Timing-Attacken zu mindern; zum Beispiel, wenn bei der Prüfung crypt() Passwort-Hashes.
Aktiv in Version:
(PHP 5 >= 5.6.0, PHP 7)
Hinweis:
Beide Argumente müssen von gleicher Länge sein, um erfolgreich verglichen werden. Als Argumente unterschiedlicher Länge zugeführt werden, wird
Es ist wichtig, die vom Benutzer bereitgestellte Zeichenfolge als zweiter Parameter zur Verfügung zu stellen, anstatt die erste.
FALSE
zurückgegeben sofort und die Länge des bekannten String kann im Falle eines Timing-Angriff zugespielt werden.Es ist wichtig, die vom Benutzer bereitgestellte Zeichenfolge als zweiter Parameter zur Verfügung zu stellen, anstatt die erste.
Fehler:
Gibt eine
E_WARNING
Nachricht aus, wenn eine der angegebenen Parameter kein String ist. hash_equals() - Beispiel:
Eingabe:
<?PHP $expected = crypt('12345', '$2a$07$usesomesillystringforsalt$'); $correct = crypt('12345', '$2a$07$usesomesillystringforsalt$'); $incorrect = crypt('apple', '$2a$07$usesomesillystringforsalt$'); var_dump(hash_equals($expected, $correct)); var_dump(hash_equals($expected, $incorrect)); ?>
Ausgabe:
bool(true)
bool(false)
bool(false)
Hash-Funktionen