Здравствуйте.
Язык программирования: 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
DevOps as a Service from Palark

Ну а если запускать htpasswd для получения пароля?
Это действительно выход.
Такой скрипт я писал собственоручно, но только для добавления пользователей.
Сейчас я нашел готовый класс на php, который позволяет именно управлять пользователями.
Нужно просто добавить интерфейс и разобратся с шифрованием.