Eseguire poche migliaia di iterazioni o aggiungere un sale molto lungo non è necessariamente il modo migliore per eseguire un hash lento, ma è il più ovvio (il più semplice).
L'intento è innanzitutto quello di rallentare gli attacchi massivamente paralleli . Un utente malintenzionato non sarà in grado di forzare il tuo hash in un tempo ragionevole su una singola CPU. Utilizzerà una botnet o una macchina con diverse GPU (o entrambe).
Eseguire lo stesso hash un migliaio di volte non è esattamente la cosa più saggia, poiché è facile eseguire questa attività in parallelo, e per lo più sottolinea ALU, essendo entrambe le corrispondenze perfette per il calcolo della GPU. D'altra parte, l'impatto sulla tua CPU potrebbe essere molto evidente (dipende da quante iterazioni fai).
Idealmente, un hash lento implicherebbe operazioni che rendono difficile la parallelizzazione e che utilizzano la larghezza di banda in aggiunta all'ALU grezzo, come richiedere e toccare quantità notevoli di RAM (questo limita anche la quantità di istanze che possono essere eseguite su uno zombie senza essere rilevato) o che richiedono operazioni costose su GPU (ad es. scritture ad accesso casuale).
Ovviamente questo non è esattamente tanto semplice da realizzare quanto semplicemente eseguire un hash di qualche migliaio di iterazioni, motivo per cui solitamente ci si concentra su questo.