Здравствуйте.
Язык программирования: PHP4
Есть класс, который умеет работать с .htpasswd, точнее в его функции входит создание пользователей, удаление, смена пароля и тд.
Класс нужен для того, что-бы администрировать часть веб-сайта через веб-интерфейс.
Дело в том, что в .htpasswd используется шифрование по алгоритму SHA,
а в классе нет поддрежки этого алгоритма.
Прблема в том, что функция в php crypt() (http://php.net/crypt) не поддерживает, шифрование SHA.
После поисков я обнаружил, что существует функция sha1(), которая возвращает 40-разрадное шестнадцатиричное число.
При промотре файла .htpasswd, в котором присутсвовали пароли зашифрованые по SHA (с консоли командой htpasswd -s), я обнаружил, что они хранятся не в шестнадцатиричном виде, и они не 40-разрадные.
Возникает аопрос: Как зашифровать строку методами PHP по алгоритму SHA?
Есть ли разнича между SHA и SHA1?
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Ну а если запускать htpasswd для получения пароля?
Это действительно выход.
Такой скрипт я писал собственоручно, но только для добавления пользователей.
Сейчас я нашел готовый класс на php, который позволяет именно управлять пользователями.
Нужно просто добавить интерфейс и разобратся с шифрованием.