Łamanie haseł to ogólny termin opisujący grupę technik używanych do uzyskania hasła do systemu danych. Łamanie haseł odnosi się w szczególności do procesów, dzięki którym uzyskuje się hasło z istniejących danych; samo nakłanianie osoby do podania hasła, np. poprzez phishing, nie jest uważane za łamanie hasła. Jednak odgadnięcie hasła na podstawie istniejącej wiedzy właściciela systemu komputerowego jest uważane za złamanie, ponieważ hasło nie jest znane z góry. Większość metod uzyskiwania haseł polega jednak na wielokrotnym zgadywaniu lub wykorzystywaniu słabych punktów bezpieczeństwa w systemie komputerowym.
Istnieje kilka różnych metod odgadnięcia hasła osoby. Można na przykład wykorzystać wiedzę o osobie, której system próbuje złamać, aby przewidzieć możliwe hasła. Nazwiska bliskich lub zwierząt domowych, ważne daty, numery telefonów, ważne miejsca i popularne nazwy użytkowników są znanymi, łatwymi do odgadnięcia hasłami.
Inną metodą łamania haseł na podstawie zgadywania jest atak słownikowy. Wiele osób używa haseł, które można znaleźć w słowniku lub słów, po których następuje pojedyncza liczba. Wiele programów do łamania zabezpieczeń kategorycznie próbuje wprowadzać słowa słownikowe i kombinacje liczb w celu złamania hasła. Ataki słownikowe są generalnie bezużyteczne w przypadku złożonych haseł, ale zwykle są bardzo skuteczne w przypadku każdego hasła składającego się z jednego słowa.
Atak brute-force to kolejna metoda łamania haseł, która jest znacznie potężniejsza niż atak słownikowy. Program do ataku brute-force będzie wypróbowywał każdą możliwą kombinację znaków, dopóki nie ustawi prawidłowego hasła. Jest to bardzo czasochłonne, ponieważ istnieje niezliczona ilość możliwych kombinacji liter, cyfr i symboli, których dana osoba mogłaby użyć jako hasła. Jednak w miarę jak procesory komputerowe stają się coraz potężniejsze, jest to coraz bardziej prawdopodobna metoda łamania haseł.
Inne metody łamania haseł obejmują łamanie kryptograficznej funkcji skrótu systemu komputerowego. Kryptograficzna funkcja skrótu to procedura, która konwertuje hasło na ciąg bitów o jednakowej wielkości. Jeśli hash można złamać, możliwe jest odtworzenie hasła. Większość funkcji skrótu jest jednak bardzo złożona i nie można ich złamać bez znacznego nakładu czasu i wysiłku.
Podczas gdy wykwalifikowany ekspert ds. bezpieczeństwa komputerowego może złamać wiele różnych haseł, istnieją kroki, które można podjąć, aby uniknąć prób łamania haseł. Złożone hasła są zawsze lepsze niż proste. Hasła zawierające wielkie i małe litery, cyfry i symbole są znacznie trudniejsze do złamania niż hasła wykorzystujące tylko jedną lub dwie z tych opcji. Atak typu brute force musiałby przejść przez wiele innych możliwości, zanim mógłby znaleźć prawidłowe hasło.