PyPersonalVault

PyPersonalVault

Project Description

PyPersonalVault is a file encryption application built in Python. It allows users to securely encrypt their files (any filetypes except .py and PyPersonalVault-related files should work) with a password. Multiple seperate vaults can be created, with each having a seperate password.

The graphical user interface (GUI) is built with TKinter and CustomTkinter (pip install customtkinter). Cryptographic algorithms are sourced from the RSA, AES, and SHA3_256 portions of the PyCryptodome package (pip install pycryptodomex), and various Python Standard Library modules are used throughout. Many thanks to the developers of and contributors to these excellent tools!

Currently on version 1.0.0, PyPersonal Vault allows creation of multiple vaults, file encryption using a specific vault and password, and file decryption using the same vault and password used in encrypting the file.

Possible features for future updates to PyPersonalVault include:

  1. Displaying a list of all files encrypted by a specific PyPersonalVault.
  2. Delete a PyPersonalVault.
  3. Change username and/or password for a PyPersonalVault.
  4. Encrypt and decrypt all files in a folder at once.
  5. A command-line version of the application.

The necessary files to run PyPersonalVault are: If any file is missing, the application will inform the user on startup and will provide a button that links to this project repository. If data is corrupted, a similar message will be displayed. All files are necessary for the project to permit the user to run core functionality.
You can run the project by executing the app.py file in the command line, IDE, or any other method used to run a Python file.

Source Code

Project Requirements

Necessary Python modules include the following:


Credits & Thanks

A massive thank you to the developers and contributors of the PyCryptoDome and CustomTkinter projects!

Learn more about PyCryptodome.
Learn more about CustomTkinter.


Additional Projects

Here are some other programming projects that you might be interested in learning about!

Many of my other programming projects can be found here.

Python PDF Editor

    This console-based application allows users to manipulate PDF files, with functionality such as encryption, decryption, file merging, and file compression.

PyStock

    This GUI-based application allows users to view and compare data about recent stock prices for any valid ticker over six pre-selected periods.