Does the MD5 algorithm always generate the same output for the same string?
Is using a salt the only to produce different output?
Yes, otherwise MD5 would be useless for things like file verification. What reason would you have for non deterministic output?