If not, what was the design goal?
If slowing down web login attempts isn't part of it, why not get a dedicated auth server and offload the crypt stuff onto it?
And if it is the goal, you could use CPU-friendly sleeps on the front-end to give increasing delays to the repeated guesser.
Probably: http://codahale.com/how-to-safely-store-a-password/
Hashing functions designed for speed are absolutely the wrong thing for passwords.
But I don't see the need to do the processing on the web servers.
If not, what was the design goal?
If slowing down web login attempts isn't part of it, why not get a dedicated auth server and offload the crypt stuff onto it?
And if it is the goal, you could use CPU-friendly sleeps on the front-end to give increasing delays to the repeated guesser.