Привет мой любимый читатель. И снова что-бы далеко не ходить продолжаем учить PHP. Сегодня, а конкретнее в этой статье я расскажу Вам как работать со строками в PHP.
На самом деле функций для работы со строками много, но увы я очень сильно ленив, поэтому в этой статье мы разберем их небольшое количество, а именно те, которые нам пригодятся дальше в нашем курсе изучения.
Первая на сегодня функция - strlen - Она позволяет вычислять длину строки. Давайте посмотрим на нее ближе:
<?php $str = 'Привет Мир!'; echo strlen($str); ?>
Отработав эта функция выдаст нам результат 11, а если мы добавим еще по пробелу как вначале так и в конце, то тогда уже будет 13. Думаю смысл понятен.
Следующие функции на сегодня это trim(), почему функции??? Так потому что рядом с этой стоит по аналогии ltrim() и rtrim().
Эти функции отрезать нам будут пробелы. Первая как сначала так и с конца, а вторая и третья соответственно слева или справа.
<?php $str = ' Привет Мир !'; echo trim($str); ?>
Если посмотреть исходный код страницы, то там можно увидеть отсутствие этих пробелов, Тоже самое:
<?php $str = ' Привет Мир !'; echo ltrim($str); ?>
и
<?php $str = ' Привет Мир !'; echo rtrim($str); ?>
Посмотрите как получается. Эти функции очень полезны при авторизации, когда нам нужно сделать так чтобы логин или пароль не могли начинаться/кончаться символа пробел.
А так как мы затронули тему авторизации, то я хочу представить еще одну функцию md5. Как правило служит для хранения кэша пароля в базе данных.
Функция MD5 хэширования в PHP называется md5(). Принимает функция одну строку, которую необходимо зашифровать. Функция возвращает MD5 хэш:
<?php $str = 'password'; echo md5($str); ?>
Теперь поговорим о свойствах MD5-хэширования.
- MD5-хэш содержит 32 символа
- MD5-хэш уникален для каждой строки
- Процесс MD5 хэширования необратим
- Процесс MD5 хэширования достаточно медлителен
Третий пункт, пожалуй, самый важный, потому что если бы он был обратим, то смысл хэширования практически бы отсутствовал. Глупо шифровать, например, пароли, если их можно легко потом расшифровать.
Четвёртый пункт, как бы это парадоксально не звучало, также является очень большим плюсом. Почему? Очень просто: для человека, который будет вынужден подождать этот процесс 0.001 секунды сильно не пострадает. А вот злоумышленник, который будет перебирать пароли пострадает резко, так как медлительность алгоритма уже задаёт предел - 1000 паролей в секунду. Хотя, безусловно, скорость зависит от быстродействия вычислительной системы. Но тем не менее, для злоумышленника низкая скорость получения MD5-хэша - это очень большая проблема.
На будущее: никогда не храните пароли в открытом виде, забудьте об этом раз и навсегда. Поэтому всегда отправляйте пароли в базу данных в виде MD5-хэша, и, соответственно, сравнивайте хэши паролей, а не сами пароли.
На сегодня все, но это еще далеко не конец
С уважением Ваш ИТ Инженер.
Только чистое и отличного качества, сегодня тут подсолнечное масло,вырежи купон и получи свою скидку на продукцию.