better repeatable password generation