NIt: for a function named generate_hashword, isn't it more natural to return hash, salt rather than salt, hash?