Cześć.
Mam pytanie, które od jakiegoś czasu zaczęło mnie nurtować.
W banku ING jest logowanie, które polega na wpisaniu nazwy użytkownika. W następnym kroku należy podać kilka losowo wybranych znaków z hasła przypisanego do danego konta.
W związku z tym narodziła się we mnie ciekawość: jak takie coś może zostać zaimplementowane? Wiadomo, że zawsze przechowujemy hasło w bazie danych w postaci "zahashowanej". Wówczas, możemy sprawdzić poprawność hasła w ogólnym przypadku przez
correct = (hash(plain_password) == hashed_password)
Jednak w przypadku ING nie znamy plain_password, a jedynie kilka znaków. Jak można takie coś zrealizować w bezpieczny sposób?