https://github.com/cluena/password-manager
https://github.com/cluena/password-manager
cryptography password-manager python
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cluena/password-manager
- Owner: clueNA
- License: mit
- Created: 2025-01-06T14:58:14.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T14:58:04.000Z (9 months ago)
- Last Synced: 2025-01-17T15:48:59.725Z (9 months ago)
- Topics: cryptography, password-manager, python
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Password Manager
This is a Python-based Password Manager application with a graphical user interface (GUI) built using Tkinter. The application allows users to securely store, retrieve, generate, and manage their passwords.
## Features
- Secure Encryption: Passwords are encrypted using the Fernet symmetric encryption from the cryptography library.
- Password Management: Add, view, and delete passwords for different services.
- Password Validation: Ensure passwords meet strength requirements (length, uppercase, lowercase, special characters).
- Password Generation: Generate strong, random passwords of customizable length.
- Clipboard Copy: Copy usernames and passwords to the clipboard with a single click.
- Tab-Based Interface: Easy navigation between stored passwords and password generation.
## Requirements
- Python 3.7+
- `tkinter` (pre-installed with Python)
- `cryptography`
## Installation
1. Clone the repository:
```bash
git clone https://github.com/your-username/password-manager.git
```
```bash
cd password-manager
```2. Install dependencies:
```bash
pip install cryptography
```
3. Run the application:
```bash
python password_manager.py
```## Usage
1. Adding a Password
- Navigate to the Passwords tab.
- Click on Add Password.
- Enter the service name, username, and password (or generate a strong password).
- Save the password. It will be securely encrypted and stored.
2. Viewing a Password
- Select a service from the password list.
- Click on View Password to see the username and password.
- Copy the username or password to the clipboard using the provided buttons.
3. Deleting a Password
- Select a service from the password list.
- Click on Delete Password to remove it.
4. Generating a Password
- Navigate to the Generate Password tab.
- Specify the desired length (minimum 8 characters).
- Click Generate to create a random password.
- Save the generated password to a service or copy it to the clipboard.
## File Structure
`password_manager.py`: Main application file.
`key.key`: Automatically generated encryption key (stored securely).
`passwords.enc`: Encrypted file storing all passwords.
## Security Notes
- The application uses Fernet encryption to securely encrypt and decrypt password data.
- The `key.key` file is required to access the encrypted passwords. Keep this file secure and do not share it.
- Always use strong master passwords and enable additional security measures if integrating with external systems.
## Future Enhancements
- Implement a master password to further secure access to the application.
- Add support for exporting and importing password data.
- Integrate cloud backup for encrypted password storage.
- Provide more customization options for password generation.
## License
This project is licensed under the MIT License.