md5
(PHP 4, PHP 5)
md5 — Возвращает MD5-хэш строки
Описание
$str
[, bool $raw_output
= false
] )
Вычисляет MD5-хэш строки str
используя
» алгоритм MD5 RSA Data Security,
Inc. и возвращает этот хэш.
Список параметров
-
str
-
Строка.
-
raw_output
-
Если необязательный аргумент
raw_output
имеет значениеTRUE
, то возвращается бинарная строка из 16 символов.
Возвращаемые значения
Возвращает хэш в виде 32-символьного шестнадцатеричного числа.
Список изменений
Версия | Описание |
---|---|
5.0.0 |
Добавлен параметр raw_output .
|
Примеры
Пример #1 Пример использования md5()
<?php
$str = 'яблоко';
if (md5($str) === '1afa148eb41f2e7103f21410bf48346c') {
echo "Вам зеленое или красное яблоко?";
}
?>
Примечания
Замечание: Безопасное хэширование паролей
В связи с быстрой природой хэширующего алгоритма не рекомендуется использовать эту функцию для обеспечения безопасности паролей. Подробнее об этом можно прочитать здесь.
Смотрите также
- md5_file() - Возвращает MD5-хэш файла
- sha1_file() - Возвращает SHA1-хэш файла
- crc32() - Вычисляет полином CRC32 для строки
- sha1() - Возвращает SHA1-хэш строки
- hash() - Генерирует хеш-код (дайджест сообщения)
- addcslashes
- addslashes
- bin2hex
- chop
- chr
- chunk_split
- convert_cyr_string
- convert_uudecode
- convert_uuencode
- count_chars
- crc32
- crypt
- echo
- explode
- fprintf
- get_html_translation_table
- hebrev
- hebrevc
- hex2bin
- html_entity_decode
- htmlentities
- htmlspecialchars_decode
- htmlspecialchars
- implode
- join
- lcfirst
- levenshtein
- localeconv
- ltrim
- md5_file
- md5
- metaphone
- money_format
- nl_langinfo
- nl2br
- number_format
- ord
- parse_str
- printf
- quoted_printable_decode
- quoted_printable_encode
- quotemeta
- rtrim
- setlocale
- sha1_file
- sha1
- similar_text
- soundex
- sprintf
- sscanf
- str_getcsv
- str_ireplace
- str_pad
- str_repeat
- str_replace
- str_rot13
- str_shuffle
- str_split
- str_word_count
- strcasecmp
- strchr
- strcmp
- strcoll
- strcspn
- strip_tags
- stripcslashes
- stripos
- stripslashes
- stristr
- strlen
- strnatcasecmp
- strnatcmp
- strncasecmp
- strncmp
- strpbrk
- strpos
- strrchr
- strrev
- strripos
- strrpos
- strspn
- strstr
- strtok
- strtolower
- strtoupper
- strtr
- substr_compare
- substr_count
- substr_replace
- substr
- trim
- ucfirst
- ucwords
- vfprintf
- vprintf
- vsprintf
- wordwrap
Коментарии
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.
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]+$/.