Disclosed is a method and apparatus that protects user passwords and identification numbers by using dynamic and fixed cipher keys to generate one-time access codes that are recognized by an authorization center. The authorization center provides a user with a pool of user selectable algorithms that are easily remembered by a user. When access is desired the user mentally generates and subsequently enters a non-machine generated access code formed by using the selected algorithm, the password, and a dynamic variable. The authorization center also generates a corresponding access code using stored user data. If the two access codes match access is granted.