title: Salt Generation and open source software
body: <p>As I understand it, the best practice for generating salts is to use some cryptic formula (or even magic constant) stored in your source code.</p>
  
  <p>I'm working on a project that we plan on releasing as open source, but the problem is that with the source comes the secret formula for generating salts, and therefore the ability to run rainbow table attacks on our site.</p>
  
  <p>I figure that lots of people have contemplated this problem before me, and I'm wondering what the best practice is. It seems to me that there is no point having a salt at all if the code is open source, because salts can be easily reverse-engineered.</p>
  
  <p>Thoughts?</p>