Xpoint
   [напомнить пароль]

md5 для Apache в PHP

Метки: [без меток]
[удл]
2010-02-01 22:22:43 [обр] tcolonel[досье]

Всем доброго здравия, может кто подскажет, что за специальный md5 используется в Apache для паролей и есть ли аналог в PHP или возможно ли его сделать (про crypt() знаю, но, хотелось бы понять, в каком именно случае Apache использует crypt(), а не специальный md5)?

Спасибо.

спустя 10 часов [обр] Филипп Ткачев(20/112)[досье]
-m
    Use MD5 encryption for passwords. On Windows, Netware and TPF, this is the default.
-d
    Use crypt() encryption for passwords. The default on all platforms but Windows, Netware and TPF. Though possibly supported by htpasswd on all platforms, it is not supported by the httpd server on Windows, Netware and TPF.
Md5 на платформах Windows, Netware и TPF используется по умолчанию.
Системная crypt() используется на всех остальных платформах.
спустя 10 часов [обр] tcolonel[досье]

Филипп Ткачев[досье]Правильно ли я Вас понял уважаемый, что htpasswd на nix'ах для генерации пароля использует *crypt() и, следовательно Apache при использовании простой авторизации:

AuthName '<some text>'
AuthType Basic
AuthUserFile <path to authfile>
require user <login>

проверяет пароль для <login>, который находится в <path to authfile> и сгенерирован с помощью crypt()?

И не подскажите ли Вы тогда, используется ли salt-параметр в crypt() и какой. Насколько мне не изменяет память, то если не использовать salt-парметр, то crypt() использует случайный набор.

Спасибо за внимание.

спустя 17 минут [обр] tcolonel[досье]

Вопрос снимается, случайно нашел ответ ...
Может кому сгодится. При создании пароля для использования в файле .htpasswd Apache, нужно использовать 2 первых символа пароля в качестве salt-параметра.

получение хеша:
<?
$password = 'mypassword';
$hash = crypt($password, substr($password, 0, 2));
?>

проверка хеша:
<?
if(crypt($user_input, $hash) == $hash) echo "Пароль верен !";
?>

Спасибо за внимание.

спустя 14 часов [обр] Филипп Ткачев(20/112)[досье]
Под FreeBSD в authfile прописывал хэш из master.passwd. Все работало.
спустя 4 часа 10 минут [обр] tcolonel[досье]
Да это понятно. Там ведь файл .authfile генерится с помощью htpasswd )
спустя 2 года [обр] Евгений Седов aka KPbIC(7/176)[досье]
В Apache 2.4 md5 по дефолту на всех платформах.
Powered by POEM™ Engine Copyright © 2002-2005