A command line application password manager simulation.
[x] can encrypt a password using the most basic encryption
[x] can save an encrypted password
[x] can retrieve and decryt a saved password
[x] can delete a password in particular
[x] can delete all passwords
[x] can tell a password's strength and prevent a user from using a weak password
[x] can generate passwords for the user
[] storing the password elsewhere ?
[x] more sophisticated encryption
[x] ask for permission before deletion
[x] if two passwords have the same save name, the first will me overwritten by the second
[x] when asked if the user wants to continue with a vulnerable password, saying no just asks the question again instead of asking for a different password
This command follows multiple steps :
- The app asks the user for : the password name, the password itself and the password key
- The password's strength is assessed, if it is deemed too vulnerable, the user will be made aware of it
- The password is encrypted using a ceasar cipher like function called _encryption, it uses a randomly generated interger key to shift the characters ord
- The name, key and encrypted password are stored in a json file
Asks for the password, retrieves it and the key (if not in file, says so), decrypts the password, displays it
Asks for the password, searches it, if it exists in the file pops it and overwrites the file. If it doesn't exist says so
Asks for confirmation and then overwrites the json file