in reply to Passwords, hashes, and salt

Crypt::PasswdMD5 is, in practice, easy to use. The salt is prefixed to the the returned password hash, so you don't need to use a constant one. Just extract that substring from the stored hash and use it as salt for the offered password, then compare strings. When you first store a password hash, any random salt will do. The randommer, the better.

The purpose of salt is to make wordlist dictionarys impractically large.

After Compline,
Zaxo