Password Manager

This is my first real project which you could categorise under the cybersecurity field. I developed this project because I didn't have any real understanding on cryptography and I saw this online as a solid start to understanding cryptography. And after developing this project, I can safely say that it has developed my understanding of cryptography and given me the ability to apply it to real world applications. The program is simple but still does what I wanted it to do well.

The program works with the main function starting a loop which displays text into the terminal and allows the user to select from a variety of tasks. This includes:

  • - Creating a new key (Stored in it's own file)
  • - Loading a key from a file
  • - Creating a new file for storing passwords
  • - Load a password file
  • - Adding a new password to the file
  • - Getting a password from the file
  • - Quit the program

The loop is basic but allows the user to navigate the program effectively. At the moment the program has a pre-defined hard-coded dictionary of values which are inserted into the program. However, I may further develop the program to have a fully functioning GUI and the ability to use it through a GUI.

The cryptography used includes:

  • - Symmetric Encryption with Fernet
  • - Generates a 256-bit key (32 bytes)
  • - Encryption / Decryption
  • - Key Management

The program was built using Fernet.

Languages used during the development of this project:

  • Python