A slow and memory-intensive hash function designed for passwords

Scrypt is a hash algorithm specially designed for passwords. It is based on the ideas of .

While performance is one of the design goals for traditional hash functions, as far as password hashes are concerned, performance is a negative property. Scrypt was designed to be slow in order to make password cracking expensive.

In addition to being expensive to calculate, it requires a significant amount of memory. The typical amount of memory available in specialized hardware is 1 KB. The default parameters of scrypt require 16 MB.