corrected bug: changing static salt renders all previous pass corrupt