Безусловно, самым естественным способом сохранения имен пользователей и паролей будет использование MySQL. Но опять-таки, хранить пароли в виде простого текста не хочется, поскольку, если база данных будет взломана, наш веб-сайт подвергнется опасности. Вместо этого будет использован тонкий прием с использованием так называемой односторонней функции.
Функции этого типа просты в использовании и способны превращать строку текста в строку, напоминающую набор произвольных символов. Односторонние функции практически невозможно использовать в обратном направлении, поэтому производимая ими выходная информация может безопасно храниться в базе данных, и ее похититель ничего не узнает об используемых паролях.
Применяемая нами функция называется md5
. Ей передается строка для хэширования, а она возвращает 32-символьное шестнадцатеричное число. Код, в котором она используется, имеет следующий вид:
$token = md5('мой_пароль');
При запуске этого кода переменная $token
может получить следующее значение:
34819d7beeabb9260a5c854bc85b3e44
Можно также воспользоваться схожей функцией sha1
, которая считается более безопасной, имеет более удачный алгоритм и возвращает 40-символьное шестнадцатеричное число.
НТТР-аутентификация | Добавление произвольных данных |