{"id":17356775,"url":"https://github.com/thujuli/password-manager","last_synced_at":"2025-03-27T15:41:42.042Z","repository":{"id":189606289,"uuid":"680794512","full_name":"thujuli/password-manager","owner":"thujuli","description":"A Password Manager using PBKDF2 Cryptography","archived":false,"fork":false,"pushed_at":"2023-08-21T22:18:23.000Z","size":2240,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T19:25:30.632Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thujuli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-20T12:32:41.000Z","updated_at":"2023-08-20T12:33:50.000Z","dependencies_parsed_at":"2023-08-21T00:36:47.157Z","dependency_job_id":null,"html_url":"https://github.com/thujuli/password-manager","commit_stats":null,"previous_names":["thujuli/password-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fpassword-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fpassword-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fpassword-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thujuli%2Fpassword-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thujuli","download_url":"https://codeload.github.com/thujuli/password-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245873503,"owners_count":20686605,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T18:58:41.313Z","updated_at":"2025-03-27T15:41:42.020Z","avatar_url":"https://github.com/thujuli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Password Manager\n\n![CS50P Certificate](images/CS50P.png?raw=true \"CS50P Certificate\")\n\n#### Video Demo: [Password Manager](https://www.youtube.com/watch?v=yI3BWp-vnzc\u0026t=3s)\n\n### Background\n\nI have a problem with managing passwords:\n\n1. Each site uses a different password.\n2. I don't want to save my password in a file with the original password\n3. If encrypt passwords, I want to have a master password with a key\n\nFinally got idea after a few articles I read. The solution is a Password Manager with authentication using PBKDF2. In python, so many package for password encryption but i use crytography because this package easy for encrypt and decrypt.\n\n### Description:\n\nThis project is the development of a simple Password Manager created using the Python programming language. The Password Manager operates as a Command-Line Interface (CLI) application. Its primary purpose is to encrypt and securely store passwords entered by the user. The passwords are encrypted using the PBKDF2 algorithm before being saved in a CSV file.\n\n### Key Features\n\n1. **PBKDF2 Encryption:** User-entered passwords are encrypted using the PBKDF2 algorithm, enhancing security by generating a strong cryptographic hash.\n2. **CSV Storage**: Encrypted passwords are stored in a CSV file. Each entry includes details such as the service name, username, and the encrypted password.\n3. **CLI-Based Interaction:** The Password Manager operates through the command line, offering an interactive user experience for adding, deleting, and viewing stored passwords.\n4. **Enhanced Display:** The application uses the `tabulate` library for formatted display of password information and `pyfiglet` for ASCII art headers\n\n### Project Structure\n\n- `project.py`: Main application file containing the Password Manager's logic.\n- `test_project.py`: Test functions file to ensure the correct functionality of the Password Manager.\n- `master.key`: File to store the encrypted master keyused by the user.This file is automatically generated after successfully authentication.\n- `password.csv`: CSV file used for storing encrypted password data. This file is automatically generated after encrypting passwords.\n- `README.md`: Documentation file containing project information, installation guide, and usage instructions.\n\n### Installation\n\n1. **Python 3.7:** Ensure Python 3.7 is installed on your system.\n2. **Dependency Installation:** Navigate to the project directory and execute the following command to install required dependencies:\n\n```\npip install -r requirements.txt\n```\n\n### Usage\n\n1. **Running the Application:** Open a terminal and navigate to the project directory. Execute the following command to start the application:\n\n```\npython project.py\n```\n\n2. **Main Menu:**\n   ![Main Menu](images/menu.png?raw=true \"Main Menu\")\n\n3. **List Passwords:**\n   ![Display Password](images/list.png?raw=true \"Display Password\")\n\n4. **Encrypt Password:**\n   ![Encrypt Password](images/encrypt.png?raw=true \"Encrypt Password\")\n\n5. **Edit Password:**\n   ![Edit Password](images/edit.png?raw=true \"Edit Password\")\n\n6. **Delete Password:**\n   ![Delete Password](images/delete.png?raw=true \"Delete Password\")\n\n### Contributions\n\nCommunity contributions are welcome. Create pull requests in the project's repository to contribute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthujuli%2Fpassword-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthujuli%2Fpassword-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthujuli%2Fpassword-manager/lists"}