У меня есть БД пользователей и их пароль в зашифрованном виде. Я хочу, чтобы пользователи входили на сайт, используя имя пользователя и пароль. Для аутентификации мне нужно знать, какой тип шифрования у них, чтобы я мог сопоставить введенный пароль с сохраненным паролем. Я перепробовал много алгоритмов, но я не могу тренировать механизм шифрования. вот тестовый пример
оригинальный пароль: alvin
Пароль в БД : f9b0213127225c1c74d6662dee8acca297eff9e0
Шифрование пароля : sha1_v2.4.
поваренная соль: 9j1jyse241v7cw0s8okkssgg448wgcogsggoww0
Что я хочу сделать, это создать пароль в БД из оригинального пароля.
Любые подсказки о том, как преобразовать оригинальный пароль в пароль в БД
P.S таблица была создана CMS Silverstripe
РЕДАКТИРОВАТЬ:
Мы больше не используем CMS Silverstripe и преобразуем наш веб-сайт в мобильное приложение. Так что использование Silverstripe или его функции не вариант. Однако мы используем таблицу участников со всеми данными участника, включая информацию об аутентификации.
В комментариях ОП много ненависти. Но это неверно направлено — OP не пытаясь раскодировать что-нибудь (и объяснил это лучше на форуме: http://www.silverstripe.org/community/forums/migrating-a-site-to-silverstripe/show/101337)
Короче, пытается проверять подлинность пользователь из внешний источник, использование базы данных SilverStripe (поэтому непосредственное использование класса Member — это не главное).
Метод шифрования хранится в таблице Member, которая по умолчанию называется «blowfish», и может изменяться для каждого пользователя.
Вам нужно три поля данных:
Первый определяет, как использовать второй, который затем позволяет рассчитать третий (и, следовательно, проверить).
Разумно стандартные вещи. Смотрите классы, определенные здесь для более подробной / конкретной информации (см. «Прямые известные подклассы»):
http://api.silverstripe.org/3.1/class-PasswordEncryptor.html
Других решений пока нет …