Separate salt gen function