All, Our current password hashing scheme is weak. In fact, it's regarded as weak as plaintext. I'd like to change that.
Some time ago I wrote some code to implement the PBKDF2 protocol. This is a cryptographically sound means of deriving a key from a password. The output is also usable as a password hash. An important part of the protocol is that the work factor can be increased by increasing the loop count. Additionally, it is not tied to a specific digest algorithm. All these points are not true of the sometimes proposed alternative called 'bcrypt' which I do not recommend. I would like this to go into CouchDB 1.2. New passwords, and updated passwords, from 1.2 onwards would use the new scheme, but 1.2 will, obviously, be able to verify the current style. This work will take place within couch_server where hash_admin_passwords currently lives. The PKBDF2 code is here: https://github.com/rnewson/couchdb/tree/pbkdf2. It passes all the test vectors. The ticket for this work is https://issues.apache.org/jira/browse/COUCHDB-1060 B.
