Cryptographers seem to dislike the H(salt + secret) construction, and favor things like H(salt + H(secret and maybe some more salt)). This keeps an attacker from moving the boundary between the salt and secret or speeding up searches by currying the hash function.

Better yet, instead of SHA1 here, what about using bcrypt/pbkdf2 with a lower work factor?