W praktyce bezpieczeństwa aplikacji WWW hasła użytkowników nie są przechowywane w postaci jawnej. Zamiast tego zapisuje się ich hash, czyli wynik działania funkcji mieszającej (funkcji skrótu). Taka funkcja jest jednokierunkowa: łatwo policzyć hash z hasła, ale nie da się w prosty sposób odtworzyć hasła na podstawie hashu. Dzięki temu nawet w razie wycieku bazy danych atakujący nie dostaje gotowych haseł.
Odpowiedź "mieszających." jest poprawna, bo opisuje właśnie funkcje hashujące używane do przechowywania haseł. W nowoczesnych systemach stosuje się algorytmy projektowane specjalnie do haseł (np. Argon2, bcrypt, scrypt, PBKDF2), zwykle z użyciem soli (losowej wartości dodawanej do hasła przed hashowaniem), co utrudnia ataki słownikowe i wykorzystanie rainbow tables.
Odpowiedź "klucza." jest niepoprawna, ponieważ klucz kojarzy się z szyfrowaniem, a szyfrowanie jest z definicji odwracalne (da się odszyfrować dane mając klucz). Przechowywanie haseł jako danych zaszyfrowanych oznaczałoby, że w pewnym miejscu istnieje możliwość ich odzyskania, co zwiększa ryzyko kompromitacji.
Odpowiedzi "abstrakcyjnych." oraz "cyklometrycznych." nie odnoszą się do standardowych, poprawnych kategorii funkcji używanych do bezpiecznego przechowywania haseł w systemach informatycznych. W kontekście haseł kluczowe są funkcje skrótu/KDF, a nie nieprecyzyjne lub niefunkcjonujące w tym znaczeniu określenia.
Wskazówka egzaminacyjna: jeśli pytanie dotyczy zapisu hasła w bazie "żeby nie dało się go odtajnić", szukaj odpowiedzi o funkcji skrótu/hashowaniu (jednokierunkowość), a nie o szyfrowaniu i kluczach.