Programem łamiącym hasła (password cracker) jest każdy program omijający zabezpieczenia hasłem lub kluczem, poprzez ich ujawnianie (haseł lub kluczy - czyli kodów szyfrujących). Niekoniecznie oznacza to jednak, że taki program cokolwiek rozszyfrowuje, czy też dekoduje w rzeczywistości, ogromna większość narzędzi tego nie robi, a to z tego prostego powodu, że hasła zaszyfrowane silnym algorytmem są niedekodowalne (w rozsądnym czasie). Większość nowoczesnych algorytmów kryptograficznych jest jednokierunkowa i nie ma możliwości odwrócenia tego procesu (przynajmniej w rozsądnym czasie).
Aby odnaleźć szukane hasło stosuje się narzędzia symulacyjne działające w oparciu o ten sam algorytm, który został użyty do zaszyfrowania oryginalnego hasła. Programy tego typu przeprowadzają analizę porównawczą.
Większość programów łamiących hasła nie jest niczym innym, jak narzędziami szyfrującymi kolejne hasła i porównującymi je z docelowym wzorcem. Szukając hasła, sprawdzają słowo po słowie (często z bardzo dużą prędkością), aż trafią na właściwe - jest to tak zwana metoda siłowa (brute force). Narzędzia te bazują przy tym na teorii, że prawidłowe słowo lub wyrażenie, tak czy inaczej zostanie w końcu odnalezione. Teoria ta jest zasadna o tyle, że ludzie z natury bywają leniwi - rzadko podejmują wysiłek tworzenia haseł nietypowych i oryginalnych (a zatem trudnych do "odgadnięcia"). Mankament ten nie zawsze jednak wynika z winy użytkownika.
Użytkownicy rzadko (jeśli w ogóle) posiadają odpowiednik wiedzę, aby dokonać wyboru odpowiedniego hasła. jeżeli użyte wyrażenie jest słowem występującym w jakimkolwiek języku, jest tym samym bardzo łatwe do rozszyfrowania. Z kolei inni uważają, że skoro ich hasło nie jest zawarte w standardowej bazie słów - oznacza to, że jest niewykrywalne. Wielu twierdzi także, że skoro nie przechowuje na serwerze poufnych plików, to nie musi specjalnie przejmować się bezpieczeństwem swojego konta. Nie zdaje sobie sprawy z tego, że udostępniając wejście do systemu, umożliwiają wyrządzenie nieobliczalnych szkód przez złośliwego krakera.
Wiedza na temat właściwego doboru haseł nie jest specjalnie trudna do przyswojenia, a mimo to problem słabych haseł ciągle istnieje. Zagadkowym jest fakt, że ten jakże istotny aspekt bezpieczeństwa sieci jest tak często niedostrzegany. A przecież temat ten dotyczy samej istoty bezpieczeństwa.
Wykorzystywanie źle wybranych i źle zabezpieczonych haseł jest jedną z najczęstszych form ataku przeprowadzanego przez krakerów. Prawie każdy system wieloużytkownikowy używa systemu haseł, zabezpieczającego przeciw nieautoryzowanemu dostępowi do systemu, ale stosunkowo na niewielu z nich stosowane one są właściwie. Problem jest wszechobecny i nie jest szczególnie związany z jakimś konkretnym systemem, podczas gdy rozwiązania są proste, niekosztowne i dające się zastosować na każdym serwerze - bez względu na system operacyjny i konfigurację sprzętową.