(PHP 4, PHP 5, PHP 7, PHP 8)
md5 — Calcula el md5 de un string
No se recomienda utilizar esta función para asegurar contraseñas, debido a la naturaleza rápida de este algoritmo de hash. Ver F.A.Q del hash de contraseñas para más detalles y las buenas prácticas.
Calcula el MD5 del string string utilizando el algoritmo
» RSA Data Security, Inc. MD5 Message-Digest Algorithm,
y devuelve el resultado.
stringEl string.
binary
Si el argumento opcional binary está definido a true ,
entonces el md5 se devuelve en formato binario crudo con una longitud de 16.
Devuelve el md5 del string, en forma de un número hexadecimal de 32 caracteres.
Ejemplo #1 Ejemplo con md5()
<?php
$str = 'apple';
if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "¿Desea una golden o una spartan?";
}
?>
Regarding Ray Paseur's comment, the strings hash to:
0e462097431906509019562988736854
0e830400451993494058024219903391
The odds of getting a hash exactly matching the format /^0+e[0-9]+$/ are not high but are also not negligible.
It should be added as a general warning for all hash functions to always use the triple equals === for comparison.
Actually, the warning should be in the operators section when comparing string values! There are lots of warnings about string comparisons, but nothing specific about the format /^0+e[0-9]+$/.md5('240610708') == md5('QNKCDZO')
This comparison is true because both md5() hashes start '0e' so PHP type juggling understands these strings to be scientific notation. By definition, zero raised to any power is zero.