Critical Resource
Use a cryptographic hash function that can be configured to change the amount of
computational effort needed to compute the hash, such as the number of iterations
("stretching") or the amount of memory required. Some hash functions perform salting