Skip to content

SahajG009/Password-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

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.

About

It is a Python password manager using Fernet encryption. It securely stores and manages passwords, ensuring confidentiality and convenience for users.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages