Co do zasady, masz rację. Funkcja/algorytm skrótu, powoduje utratę informacji tak więc dana suma kontrolna, może odpowiadać większej ilości różnych przypadków danych. Tu, haseł. Zwróć tylko uwagę że to rozważanie, jest prawdziwe dla sytuacji gdy nie masz ograniczenia długości danych poddawanych funkcji skrótu (może być to 1 bajt jak i 1 peta bajt).
W przypadku tradycyjnych haseł, mają one ograniczoną długość. Funkcja skrótu jest także tak dobrana że występuje "efekt lawiny". Zmiana 1 bitu w haśle skutkuje diametralną zmianą wyniku obliczania skrótu. Stąd też prawdopodobieństwo potencjalnej kolizji jest mocno ograniczone (np. hasło 8 znaków to 64 bity a sha256 to 256). Następuje tu (w uproszczeniu) "eksplozja" bitów :)
Obecnie nie znaleziono jeszcze przykładu kolizji dla sha256, co nie znaczy że nie uda się tego zrobić w przyszłości. Na dziś sha256 (w zastosowaniach cywilnych), do robienia skrótów haseł, wystarcza. Może jednak nie wystarczać do kontroli poprawności danych. W przypadkach np. dystrubucji nośników instalacyjnych, publikuje się 2 wyniki różnych funkcji skrótu. Wtedy kolizja jest.... bardzo mało prawdopodobna :)