Po prostu wynika to z takiego mechanizmu walidacji, wcale nie wynika z tego co kolega Jasky napisał
Z oszczędności miejsca w bazie danych. Mniej znaków-mniej danych. Choć tak na prawdę to pseudo oszczędnoś i to kosztem bezpieczeństwa.
to jest totalna bzdura, gdyż hasła są trzymane i tak na bazie HASHOWANIA/ kodowania, a prędkość zależy nie od ilości ... tylko od mechanizmu i szyfru jaki stosujemy, dla przykładu MD5 jest bardzo szybki, ale niezbyt bezpieczny. Hasła więc są odpowiednio kodowane i dekodowane, przy czym - jest to operacja jednostronna więc nie ma możliwości cofnięcia raz utworzonego hashu. ( oczywiście są wyjątki).
Dlaczego takie ograniczenia? Trudno powiedzieć, trzeba by zapytać dlaczego takie walidacje są ...
„Hasło: wartość jest dłuższa niż dopuszczalne 10 znaków”. Nie pierwszy raz widzę podobny komunikat. Zastanówmy się jakie mogą być techniczne powody ograniczenia długości hasła:
- Transmisja danych przez sieć: czy dodatkowe kilkadziesiąt znaków zrobi różnicę?
- Przetwarzanie haseł w pamięci: czy dodatkowe kilkadziesiąt bajtów w RAM zrobi różnicę?
- Przechowywanie haseł w bazie (na dysku): tu (mam nadzieję?) i tak nie są trzymane same hasła, więc zajmowane miejsce jest takie samo dla każdego hasła, niezależnie od ilości znaków.
- Obliczanie funkcji KDF (lub skrótu) z haseł: czy naprawdę kilkadziesiąt dodatkowych znaków zrobi różnicę?
Nie ma żadnego racjonalnego powodu dla narzucania takich ograniczeń na długość hasła. Tego typu limity są wynikiem czyjejś bezmyślności: ot, łatwiej było wpisać wyssaną z palca liczbę (10 znaków), niż zastanowić się jak to ograniczenie faktycznie powinno wyglądać.