Password manager `

Job ID: 31961458

Budget: $10 – $30 USD

Password manager is a software that assists users in generation,
secure storage and retrieval of their passwords.
Project Task: Write a password manager program. It must support an encrypted database of passwords
for the website name provided by users. The encrypted database will be stored in the file “pw.dat”.
The AES-256-GCM cipher will be used for encryption. The cipher key will be generated from the master
password using PBKDF2. Use your EUID as the master password, for simplicity. The program will request
the master password to be entered from the keyboard for each operation. Each website password will
be generated as a random sequence of 14 symbols from the following alphabet: uppercase and
lowercase letters of the English alphabet, 10 digits (0 to 9), three special characters: “!”, “@”, “#”.
The following operations must be supported:
 Adding a new website to the database.
Syntax: pwman add <website>
 Retrieving a password for a given website.
Syntax: pwman ret <website>
Organization: Feel free to use the programming language of your choice. Python is recommended.
PyCryptodome [1] is recommended as a cryptography library.
Submission requirements:
 The project report must contain a short description of your program, and screenshots
demonstrating that your program works according to the project task.
Specifically, that it generates and retrieves website passwords based on the master password.
 The source code, the executable (if applicable), and all other supplementary files must be
enclosed as a ZIP archive. The source code must be properly commented.
Remark: It is students’ responsibility to demonstrate that the implementation is working.
In the case if the code cannot be run by a grader, the screenshots placed in the report and
the comments placed in the code will serve as evidence that the code is working.