Функция md5() — это способ получить хеш (отпечаток) строки. Она преобразует любой текст, число или файл в уникальную последовательность из 32 символов (цифры и латинские буквы a-f). Такой хеш используют для проверки целостности данных, генерации уникальных идентификаторов, хранения паролей (устаревший способ) и других задач.
Применение md5()
• Проверка целостности данных (сравнение хешей файлов или строк)
• Генерация уникальных идентификаторов (например, для ссылок, токенов, имён файлов)
• Хранение паролей (устаревший и небезопасный способ)
• Сравнение больших данных (сравнение коротких хешей вместо длинных строк)
• Обработка кэша (создание ключей для кэширования)
Использование md5()
Синтаксис:
md5($string, $raw_output = false)
• $string — строка для хеширования
• $raw_output (необязательный) — если true, возвращает 16 байт (сырые данные), если false (по умолчанию) — строку из 32 символов
Аргументы md5()
• $string — строка для хеширования (любой текст, число, содержимое файла)
• $raw_output (опционально) — булево значение:
• false (по умолчанию) — возвращает строку из 32 символов (шестнадцатеричный вид)
• true — возвращает 16-байтовую строку (для внутреннего использования)
Возвращаемое значение md5()
• Строка из 32 символов (цифры 0-9 и буквы a-f), если $raw_output = false
• Строка из 16 байт, если $raw_output = true
Примеры использования
1. Получить md5-хеш строки:
echo md5("Привет, мир!"); // Например: 9a0b2eecb7c0c7e3e3e3e3e3e3e3e3e3
2. Хешировать пароль (НЕ рекомендуется для реальных проектов!):
$password = "mySecret123";
$hash = md5($password);
echo $hash; // Например: 42f749ade7f9e195bf475f37a44cafcb
3. Проверить целостность файла:
$file = "data.txt";
$hash = md5(file_get_contents($file));
echo $hash;
4. Генерировать уникальное имя файла:
$filename = "image.jpg";
$unique = md5($filename . time());
echo $unique . ".jpg";
5. Получить “сырое” значение (16 байт):
$raw = md5("test", true);
echo base64_encode($raw); // Для вывода в читаемом виде
Важные моменты
• md5 НЕ подходит для хранения паролей! Сейчас используют password_hash() и password_verify(), так как md5 легко взломать
• md5 всегда возвращает одинаковый результат для одной и той же строки
• Даже небольшое изменение в строке полностью меняет хеш
• md5 не шифрует данные, а только создает их отпечаток
• Для более надежного хеширования используют sha256, sha512 и другие алгоритмы
Вывод:
md5() — быстрый способ получить уникальный отпечаток строки или файла. Используйте для проверки целостности, генерации идентификаторов, но не для хранения паролей и секретных данных.

