PHP - Função Hash equals ()

Definição e Uso

o hash_equals() função compara duas strings fornecidas ao mesmo tempo e retorna true se for igual.

Sintaxe

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

Parâmetros

Sr. Não Parâmetro e Descrição
1

known_string

A string que será comparada.

2

user_string

A string fornecida pelo usuário.

Valores Retornados

A função PHP hash_equals () retorna um booleano, isto é, verdadeiro se as strings são iguais e falso se não forem.

Versão PHP

Esta função funcionará na versão do PHP superior a 5.6.0.

Exemplo 1

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

Resultado

Isso produzirá o seguinte resultado -

bool(true)

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

Resultado

Isso produzirá o seguinte resultado -

bool(false)

Exemplo 3

Comparando hash de hash () e 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);
?>

Resultado

Isso produzirá o seguinte resultado -

bool(true)