PHP Conference Nagoya 2025

md5

(PHP 4, PHP 5, PHP 7, PHP 8)

md5Calcola il valore md5 di una stringa

Avviso

It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm. See the Password Hashing FAQ for details and best practices.

Descrizione

md5(string $str, bool $raw_output = false): string

Calcola il valore MD5 di str utilizzando il » RSA Data Security, Inc. MD5 Message-Digest Algorithm, e restituisce tale valore.

Elenco dei parametri

str

La stringa.

raw_output

Se il parametro opzionale raw_output è impostato a true, allora viene restituito l'md5 digest in formato binario raw con una dimensione di 16.

Valori restituiti

Restituisce il valore come un numero esadecimale di 32 caratteri.

Esempi

Example #1 Un esempio di md5()

<?php
$str
= 'apple';

if (
md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo
"Would you like a green or red apple?";
}
?>

Vedere anche:

  • md5_file() - Calcola l'hash md5 del file dato
  • sha1_file() - Calcola l'hash sha1 di un file
  • crc32() - Calcola il crc32 polinomiale di una stringa
  • sha1() - Calcola l'hash sha1 di una stringa
  • hash() - Generate a hash value (message digest)
  • crypt() - Criptazione di una stringa a senso unico (hashing)
  • password_hash() - Creates a password hash

add a note

User Contributed Notes 2 notes

up
15
yiminrong at yahoo dot ca
3 years ago
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]+$/.
up
5
Ray.Paseur sometimes uses Gmail
6 years ago
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.
To Top