2009-12-31 2 views

ответ

1

Лучше делегировать приложение htpasswd с помощью system() и тому подобное, а не сворачивать самостоятельно.

Также рассмотрите возможность использования базы данных и mod_auth_mysql или аналогичных для auth.

1

здесь ссылка

http://www.htaccesstools.com/articles/create-password-for-htpasswd-file-using-php/

<?php 
// Password to be encrypted for a .htpasswd file 
$clearTextPassword = 'some password'; 

// Encrypt password 
$password = crypt($clearTextPassword, base64_encode($clearTextPassword)); 

// Print encrypted password 
echo $password; 
?> 

Обратите внимание: Для серверов Apache, работающих на Windows, вы должны использовать программу Htpasswd для генерации паролей, или использовать генератор Htpasswd.

0

Это сработало для меня.

$new_password = password_hash($old_password, PASSWORD_BCRYPT); 

password_hash() создает новый хэш пароля, используя сильный односторонний алгоритм хэширования. password_hash() совместим с crypt(). Следовательно, хэши паролей, созданные crypt(), могут использоваться с password_hash().

(...)

PASSWORD_BCRYPT - Используйте алгоритм CRYPT_BLOWFISH для создания хэша. Это приведет к созданию стандартного хеша crypt(), использующего идентификатор «$ 2y $» . Результат всегда будет состоять из 60 символов, или FALSE при сбое. Поддерживаемые параметры:

http://php.net/manual/en/function.password-hash.php

Смежные вопросы