Если нужно поднять сложность вычисления хеша (например, чтобы замедлить брутфорс), обычно берут хорошую, сильную хеш-функцию (см. список в ответе
paran0id) и строят на её основе
Key derivation function (KDF). Основной принцип - многократное хеширование с добавлением соли. Количеством итераций можно регулировать сложность, а соль нужна, чтобы сделать бесполезными предвычисления.
Есть KDF, нацеленные на "пожирание" не только процессорного времени, но и больших объёмов памяти; например, Scrypt.