nixp.ru v3.0

27 мая 2017,
суббота,
14:56:15 MSK

DevOps с компанией «Флант»
anonymous написал 14 февраля 2005 года в 12:09 (934 просмотра) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Здравствуйте.

Язык программирования: PHP4

Есть класс, который умеет работать с .htpasswd, точнее в его функции входит создание пользователей, удаление, смена пароля и тд.

Класс нужен для того, что-бы администрировать часть веб-сайта через веб-интерфейс.

Дело в том, что в .htpasswd используется шифрование по алгоритму SHA,

а в классе нет поддрежки этого алгоритма.

Прблема в том, что функция в php crypt() (http://php.net/crypt) не поддерживает, шифрование SHA.

После поисков я обнаружил, что существует функция sha1(), которая возвращает 40-разрадное шестнадцатиричное число.

При промотре файла .htpasswd, в котором присутсвовали пароли зашифрованые по SHA (с консоли командой htpasswd -s), я обнаружил, что они хранятся не в шестнадцатиричном виде, и они не 40-разрадные.

Возникает аопрос: Как зашифровать строку методами PHP по алгоритму SHA?

Есть ли разнича между SHA и SHA1?

Master

Ну а если запускать htpasswd для получения пароля?

anonymous

Это действительно выход.

Такой скрипт я писал собственоручно, но только для добавления пользователей.

Сейчас я нашел готовый класс на php, который позволяет именно управлять пользователями.

Нужно просто добавить интерфейс и разобратся с шифрованием.