A secure CAPTCHA-free login design
blog.est.im
blog.est.im
You should always store the password on the server as a hash of some kind to protect your users against breaches on your side.
Actually, no.
There is no removing or replacing of characters. You can restore password back on server. Then hash, match against hashed password.
My mistake.
1) There are only a few types of questions, a bot can be programmed for all of them.
2) You don't need to program a bot for all of them. Even if you cover 1%, it's enough to break through and spam (attempts are cheap).
3) I don't think I've ever seen a captcha on a login box. Most of the time captchas are used for submitting anonymous (or semi-anonymous) comments, or verify a human if there are too many actions from one account.
Yet the answer is more flexible than traditional CAPTCHA. Remember, you have to type the correct password to check if CAPTCHA OCR is working
Flexible or not, it's completely useless.