A simple password manager written in Python.
- Make sure you have Python3 installed (Download Python)
- Download the latest release from the releases page
- Extract the downloaded archive.
- Start the program by running
main.py
(1. Note that python must be accessible viapy
,python3
, orpython
in your PATH)
(2. You can run.py
files by double clicking or runningpython main.py
,py main.py
orpython3 main.py
in a terminal)
(3. Note that dependencies are installed automatically if they are missing) - You can also create a shortcut to
main.py
on your desktop or taskbar for easy access.
- Files are encrypted using AES-256-CBC in combination with PBKDF2 for key derivation.
- Files are signed using HMAC-SHA256.
- python's
cryptography
library is used for encryption and decryption algorithms. - iv and salt are generated using
os.urandom()
.
(Note that this does not have to be cryptographically secure, it is written to the file in plaintext anyway.) - The parameter of the key derivation function can be adjusted and are stored in the
settings.py
file. - The file stores all information needed for decryption.
(This includes the salt, iv, HMAC value, and the parameters for key derivation as well as the version of the software) - Random padding is added to the decrypted data to avoid leaking information about the length of the file.
- More detailed information about the file format can be found in the
encFileFormat.md
file.