Does anyone else use either of these methods?:
1. Use memcached or asp.net cache to detect if a high number of login attempts are happening, if so, implement a 1 to 2 second sleep on each login attempt for 15 minutes (with some additional per IP slowing).
2. Put a sleep for 500ms on all login attempts.
I've been doing both for a while, with the thought that they are effective methods in conjunction with proper hashing.