Авторизация в WordPress

Авторизация в WordPress

Понадобилось мне тут написать кусочек кода, который брал пароль из базы данных wordpress’а. Полез в базу… Заранее предполагая, что пароль не может храниться в открытом виде, был уверен на 90%, что он в md5. Увидев значение поля user_pass, таблицы wp_users и хорошо зная как выглядит хеш md5 я понял, что это точно не md5,по крайней мере может быть не в чистом виде… хеш пароля имеет такой вид

$P$Bhxnus21iNEGqYViRQ9yrGwBrMbAtN1 пароль который равен этому хешу 123.

Полез искать в интернете, на форумах, задавая вопросы великому Google пытаясь найти истину. Вся найденная мною полезная информация гласила, что яко бы это многократное использование алгоритма md5, или md5 и какие случайные цифры и буквы вначале, то, что есть определенная закономерность и т. д. Ясное дело бред, я даже не поленился проверить теорию о многократном шифровании в md5. Все не то. Ну и разумеется пришлось копать истину самому… Полез разбирать исходники многоуважаемого WordPress. Копаясь в исходниках и следуя от одного файла к другому, от одной функции к другой. Все приводило к вызову некого метода Password Hash. Далее ниточка привела меня почти к истине…

Оказывается хеширование пароля в wordpress выполняется неким усиленным, своим методом. То есть пароль хранящийся в базе данных, хранится там не в обычном хешированном md5 виде, а в усиленно хешированном виде. Как я понял, а в подробности я не вдавался, метод шифрования это модифицированный или чистый Blowfish. Порыскав еще, я вышел на официальный сайт этой разработки и называется все это дело Portable PHP password hashing framework, кратко php ass — Это класс написанный на PHP. Как правильно подмечают авторы, правильно говорить не шифрование пароля, а хеширование (а я разок употребил слово шифрование =) ). На этом сайте Вы всегда сможете скачать исходники, почитать поподробнее про php ass. Истина найдена, не все так сложно!


Карта сайта


Информационный сайт Webavtocat.ru