Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phenomsg/password-manager
It is a Python password manager using Fernet encryption. It securely stores and manages passwords, ensuring confidentiality and convenience for users.
https://github.com/phenomsg/password-manager
cryptography decryption encryption fernet python
Last synced: 10 days ago
JSON representation
It is a Python password manager using Fernet encryption. It securely stores and manages passwords, ensuring confidentiality and convenience for users.
- Host: GitHub
- URL: https://github.com/phenomsg/password-manager
- Owner: PhenomSG
- Created: 2023-06-01T09:50:22.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-06-05T04:36:21.000Z (over 1 year ago)
- Last Synced: 2024-08-06T08:11:03.657Z (3 months ago)
- Topics: cryptography, decryption, encryption, fernet, python
- Language: Python
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Password-Manager
# Fernet Encryption:
Fernet encryption is a symmetric key encryption algorithm, which means it uses the same key for both encryption and decryption processes. It is based on the AES (Advanced Encryption Standard) cipher and provides secure and efficient encryption. Fernet encryption ensures that the data remains confidential and can only be decrypted using the correct key.# Features of the Password Manager:
**1. Secure Password Storage:** The password manager allows users to securely store their passwords. When a password is added, it is encrypted using the Fernet algorithm before being stored.
**2. Encryption Key Generation:** To encrypt and decrypt passwords, the password manager generates a unique encryption key. This key is derived from a user-provided master password using a secure key derivation function, such as PBKDF2 (Password-Based Key Derivation Function 2), which adds an additional layer of security.
**3. Password Viewing:** Users can view their stored passwords whenever needed. The password manager decrypts the passwords using the encryption key derived from the master password.
**4. Master Password Validation:** Before allowing access to the stored passwords, the password manager verifies the correctness of the master password entered by the user. This ensures that only authorized users can view and manage the passwords.
**5. Error Handling:** The password manager incorporates robust error handling mechanisms to handle exceptions gracefully. It validates user input and provides appropriate error messages to ensure a smooth user experience.
# How it Works:
**1. Initialization:** The password manager prompts the user to set up a master password during the initial setup. This password is then used to generate the encryption key.
**2. Adding Passwords:** When the user wants to add a password, they provide the details (e.g., website, username, password) through the password manager interface. The password manager encrypts the password using the encryption key and stores the encrypted data securely.
**3. Viewing Passwords:** When the user requests to view their passwords, they need to enter the master password. The password manager validates the master password, decrypts the stored passwords using the encryption key, and presents them to the user.
**4. Error Handling:** The password manager handles various scenarios, such as incorrect master password, invalid input, or file system errors, and provides appropriate error messages to guide the user.
# Security Considerations:
The password manager employs several security measures to ensure the confidentiality of the stored passwords:
**1. Encryption:** All passwords are encrypted using the Fernet encryption algorithm. This ensures that even if the encrypted data is accessed, it remains unintelligible without the correct encryption key.
**2. Key Derivation:** The encryption key used for Fernet encryption is derived from the master password using a secure key derivation function. This adds an extra layer of security and prevents unauthorized access to the key.
**3. Secure Storage:** The password manager stores the encrypted passwords in a secure manner, such as a file with restricted access permissions. This prevents unauthorized access to the stored passwords.