У меня есть база данных PostgreSQL, в которой много пользователей. Пароли пользователей зашифрованы в следующем формате:
sha1$678ae$0dd4b5a9588be91a931d1ef1f7e7053477c1478e
Это шифрование было сделано с помощью Django (хотя я не знаю, можете ли вы зашифровать его непосредственно в базе данных).
Я пытаюсь создать приложение PHP, которое сможет использовать и проверять этих пользователей с этими зашифрованными паролями.
Как я мог это сделать?
PS: я использую PHP 7.
По умолчанию Django хранит пароли, используя хэш PBKDF2 (см. Их документы). Предполагая, что вы не изменили это значение по умолчанию, вы сможете хэшировать, используя PBKDF2 в PHP, используя hash_pbkdf2 функция.
Вам нужно будет принять пароль пользователя в вашем приложении PHP, превратить его в хеш PBKDF2 с тем же algo
, salt
, iterations
, а также length
которое использует ваше приложение Django, а затем сравните полученное значение с зашифрованным паролем в базе данных Django, чтобы определить, совпадают ли они.
Других решений пока нет …