Pokud nepoužívají hash iterovaně (aspoň pár tisíc), tak lze vyzkoušet všechna cca 8 znaková hesla rychle i pokud by použili sha-256 nebo sha-3.
Pokud používají hash iterovaně, tak s trochu větším počtem iterací je bezpečná i MD5. Protože ze známé hashe se ani u MD5 nedá zjistit heslo, ktere by na danou hodnotu hashe pasovalo. MD5 je prolomená v tom smyslu, že útočník dovede vytovořit dvě různá hesla, která budou mít stejnou (dopředu neznámou) hash; zjistit heslo ke stávající hashi je mnohem těžší.
Použití bcryptu, scryptu a podobných algoritmů, které jsou na ověřování hesel určené, je samozřejmě lepší.
Poznámka: použití "lepší" funkce má podobný efekt, jako prodloužit heslo o dva náhodné znaky. Takže neurazí, ale zároveň to není nějaké magické řešení všech problémů.
(pokud heslo prodloužíš o dva náhodné znaky, zkomplikoval jsi ho 64^2 = 4096x. A PBKDF či scrypt typicky bývají 1000-10000x pomalejší)