app | ||
src | ||
test | ||
.gitignore | ||
CHANGELOG.md | ||
HasswordManager.cabal | ||
LICENSE | ||
package.yaml | ||
README.md | ||
Setup.hs | ||
stack.yaml | ||
stack.yaml.lock |
HasswordManager
A simple password manager that uses a master password to encrypt and decrypt passwords.
The master password is hashed with salt and pepper.
The passwords are stored encrypted in sqlite3 database and are decrypted only when needed.
As a user I want to:
- specify the master password upon the first run of the program
- identify myself with the master password upon each run of the program
- list all entries in the database
- copy a password stored in the database to the clipboard by decrypting it with provided master password
- add a new entry to the database which will store a password safely in encrypted form
- delete an entry from the database
- update a password of an entry in the database
- change the master password, which will re-encrypt all passwords in the database so I can access them with the new master password
- exit the program
To build the project run:
stack build
To run the project run:
stack exec HasswordManager-exe
To run the tests run:
stack test
Authors:
- Jan Wojciechowski
- Sebastian Jerzykiewicz