funciona - md5 php
¿Por qué md5(''240610708'') es igual a md5(''QNKCDZO'')? (2)
Debe utilizar el operador de comparación sensible al tipo === .
Los hashes evalúan hasta 0e462097431906509019562988736854 y 0e830400451993494058024219903391 , respectivamente. Cuando usa == , cada uno se convierte en una representación numérica debido a la e (notación científica), por lo que cada uno se convierte en 0 . 0 == 0 es cierto.
Por otro lado, esto:
md5(''240610708'') === md5(''QNKCDZO'')
devuelve false porque los valores de cadena son diferentes. === fuerza la comparación sensible al tipo.
Esta pregunta ya tiene una respuesta aquí:
var_dump(md5(''240610708'') == md5(''QNKCDZO''));
Salida:
bool(true)
Ejemplo: http://3v4l.org/2vrMi
md5(''240610708'') es 0e462097431906509019562988736854 .
md5(''QNKCDZO'') es 0e830400451993494058024219903391 .
Ambas son cadenas de formato de número flotante ( cadenas numéricas ), y si usa == en php, cuando compara un número con una cadena o la comparación involucra cadenas numéricas, entonces cada cadena se convierte en un número y la comparación se realiza numéricamente.
Ambas cadenas se convierten a 0 cuando se comparan con == , si desea compararlas como una cadena, recuerde usar === ( comparación estricta ) en su lugar.