PHP 8.6.0 Beta 1 is available for testing

md5

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

md5Возвращает MD5-хеш строки

Внимание

Не рекомендуется использовать эту функцию для безопасного хранения паролей ввиду высокой скорости работы этого алгоритма. Подробнее об этом рассказывает раздел «Ответы на часто задаваемые вопросы о хешировании паролей».

Описание

function md5(string $string, bool $binary = false ): string

Вычисляет MD5-хеш строки string, используя » алгоритм MD5 RSA Data Security, Inc. и возвращает этот хеш.

Список параметров

string

Строка.

binary

Если необязательный аргумент binary имеет значение true , то возвращается бинарная строка из 16 символов.

Возвращаемые значения

Возвращает хеш в виде 32-символьного шестнадцатеричного числа.

Примеры

Пример #1 Пример использования md5()

<?php
$str = 'яблоко';
if (md5($str) === '1afa148eb41f2e7103f21410bf48346c') {
 echo "Вам зелёное или красное яблоко?";
}
?>

Смотрите также

  • hash() - Генерирует хеш-значение (подпись сообщения)
  • password_hash() - Создаёт хеш пароля

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
13
yiminrong at yahoo dot ca
5 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
1
Ray.Paseur sometimes uses Gmail
7 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.
+Добавить

AltStyle によって変換されたページ (->オリジナル) /