PHP - Función Hash equals ()

Definición y uso

los hash_equals() La función compara dos cadenas dadas al mismo tiempo y devuelve verdadero si es igual.

Sintaxis

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

Parámetros

No Señor Descripción de parámetros
1

known_string

La cadena que se comparará.

2

user_string

La cadena dada por el usuario.

Valores devueltos

La función PHP hash_equals () devuelve un valor booleano, es decir, verdadero si las cadenas son iguales y falso si no.

Versión PHP

Esta función funcionará desde la versión de PHP superior a 5.6.0.

Ejemplo 1

Trabajo de hash_equals () -

<?php
   $known_str = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $usr_str   = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $res = hash_equals($known_str, $usr_str); 
   var_dump($res);
?>

Salida

Esto producirá el siguiente resultado:

bool(true)

Ejemplo 2

Comparando hash usando hash_equals -

<?php
   $known_str = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $usr_str   = crypt('helloworld','$5$rounds=1000$salttest$');
   $res = hash_equals($known_str, $usr_str); 
   var_dump($res);
?>

Salida

Esto producirá el siguiente resultado:

bool(false)

Ejemplo 3

Comparando hash de hash () y hash_file () -

<?php
   $hash1 = hash("md5", 'Welcome to Tutorialspoint');
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint'); 
   // create file filetest.txt with content : 'Welcome to Tutorialspoint'
   $hash2 = hash_file('md5', 'filetest.txt');
   $_compare = hash_equals($hash1, $hash2); 
   var_dump($_compare);
?>

Salida

Esto producirá el siguiente resultado:

bool(true)