Wpis z mikrobloga

Pisze z kumplem aplikację w c++ która ma się łączyć z bazą danych MySQL na serwerze a następnie obsługiwać logowanie się użytkowników do tej bazy. Prosty windows form, 2 text boxy z loginem i passem i button Login. Łączenie się z bazą danych działa, mogę spisać dane z tabel typu id, login etc, ale problem jest z hasłami. Logowanie się wpisując login i passy do textboxow nic nie daje bo hasła w bazie danych są hashowane. Jakieś porady co zrobić?
#programowanie
  • 9
@Piotrp7: Tzn? Spisywać z bazy danych salt danego użytkownika, hashować hasło pobrane z textboxa (w ten sam sposób jak forum mybb #!$%@? hasła tzn.
function salt_password($password, $salt)
{
return md5(md5($salt).$password);
}

) i następnie porównywać hashe? Dobrze rozumiem? (,)
@Piotrp7: akurat imo lepiej jest robić to po stronie aplikacji, baza niekoniecznie musi mieć dostępne sensowne funkcje #!$%@?ące, a i samo stworzenie procedur jest troche bardziej zaawansowane i niekoniecznie musi byc wszedzie dostepne
@xwlk: on wpisal kod nawet funkcji do hashowania z bazy - return md5(md5($salt).$password); chyba to z bazy jest :P

Imo cienko hashować, porównywać hasła po stronie aplikacji. O wiele lepiej po stronie serwera - ale tu tego nie ma, więc po stronei bazy.
@krul_internetu: wiesz, po stronie aplikacji nei wiele się powinno dziać. Powinno się oddzielać logike od samego UI. Takie porównywanie haseł po stronie dodatkowo apki nie jest safe w ogóle. Powinieneś pobrać dane (w kliencie) i wysłać to dalej, a klient tylko powinien zareagować na to co dostanie zwrotnie.