Это должно работать. Пожалуйста, попробуйте этот код и дайте мне знать, работает ли он для вас, или если он не содержит пример пароля и хэша, который работает с хэш-функцией проверки phpbb, а не с вышеуказанным кодом C #.
но я начал реализовывать решение, которое будет использовать базу данных PhPbb для авторизации форм, я использовал класс из этого потока ниже:
Поэтому я написал поставщика членства, используя этот класс в функции «ValidateUser»:
public override bool ValidateUser(string username, string password)
{
ForumsDataContext db = Root.ForumsDataContext;
PhPbbCryptoServiceProvider phpbbCrypt = new PhPbbCryptoServiceProvider();
string remoteHash = db.Users.Where(u => u.UserName == username).FirstOrDefault().UserPassword;
if (String.IsNullOrEmpty(remoteHash))
return false;
return phpbbCrypt.phpbbCheckHash(password, remoteHash);
}
Однако это всегда возвращает false, так как phpbbCrypt.phpbbCheckHash возвращает false, и я не знаю достаточно о PhPbb, чтобы определить, почему хэши не совпадают.
Любые предложения?