What are ways of getting database and other service passwords out of your code? I've read about using per server properties files but when you have a large number of servers it gets to hard to maintain. I've also seen a solution using a CI's build process to "inject" passwords but that makes it difficult to update the password on-the-fly.
Some requirements to help narrow the field of answers...
- The password should be easy to change and propagate in the event of a security breach.
- Password can not appear in code (due to point 1)
- It should be "non trivial" for a human to get a plain-text version of the password
- Should work well in the web application and stand alone applications
- Easy to adopt from a application developer standpoint
Some nice-to-haves include not introducing a single point of failure, a quick development time, and easy to understand.
This is similar in spirit to this question but with an strong emphasis on maintainability and focuses more on the server side case.