Skip to main content

LamaForge Encrypted Password Manager/User Auth

Project description

LFPWM

If you are using it for the first time, you must create a user data table.

Developed in: VSCode

LamaForge PW Manager pip Package Documentation

Summary: Lamaforge PW Manager is a secure Pypi package for password storage and user authentication. This program allows users to create a custom user instance with the predefined User class. Another feature is that you can easily create and store encrypted data of your own or take input from a user of the developer's application.

Passwords are encrypted before they are stored locally. The database used for this application is SQLite3. SQLite3 uses a database created on your local machine and is equally as safe as any other database.

Link to repository: https://github.com/gonhunterx/LFPWM

(For specific use examples of methods and parameters go to the Example Usage in Python section)

Step 1 (in terminal):

pip install LFPWM

Step 2a: (In your .py file)

from LFPWM.users import User  

Step 2b: (In your .py file)

from LFPWM.users import PasswordManager as pm

(These steps will allow you to access all functionality of the LFPWM Package.)

After installation,

LFPWM pip package usage:

Password Manager (PasswordManager)

The PasswordManager class in the LFPWM package is designed to handle the encryption and decryption of passwords. It utilizes the Fernet symmetric encryption scheme from the cryptography library.

Methods:

encrypt_password(password: str) -> bytes Encrypts the given plaintext password.

Parameters:

password (str): The plaintext password to be encrypted. Returns: The encrypted password.

decrypt_password(encrypted_password) -> str Decrypts the given encrypted password.

Parameters:

encrypted_password: The encrypted password. str: The decrypted plaintext password.

User Class (User)

The User class represents a user entity and includes methods for managing user information and storing encrypted passwords.

Methods:

set_username(new_username: str) Updates the username for the user.

Parameters:

new_username (str): The new username to set.

set_password(new_password: str) Updates the password for the user.

Parameters:

new_password (str): The new password to set.

insert_data(title: str, data: str) Inserts encrypted password data into the UserData table.

Parameters:

title (type: string): The title associated with the stored password. data (type: string): The plaintext password to be encrypted and stored.

get_data() Retrieves and decrypts stored password data from the UserData table, then prints it.

remove_data(data_to_delete: str)

Deletes password data associated with a given title.

Parameters: data_to_delete(str): The title of the data to be deleted.

Example Usage In Python: from LFPWM.sql_db import create_connection from LFPWM import User

Create a user instance

user = User("example_user", "example_password")

Set a new username

user.set_username("new_username")

Set a new password

user.set_password("new_password")

Insert data into UserData table

user.insert_data("Email", "user@example.com")

Retrieve and print stored data

user.get_data()

Remove data by title

user.remove_data("Email")

Encrypt your own data for use

Item_to_encrypt = “Hello World”
encrypted_item = PasswordManager.encrypt_password(Item_to_encrypt)
print(encrypted_item)

This will print as an encrypted token. You can also use the PasswordManager’s decrypt_password static method. This will allow you to view the original value behind an encrypted one.

You can use it like this:

decrypted_item = PasswordManager.decrypt_password(encrypted_item)
print(decrypted_item)

This will print “Hello World” (The decrypted value of encrypted_item)

This example demonstrates some possible use cases of the User, and PasswordManager classes and their associated methods. You can integrate these functionalities into your own projects for secure password management and other data storage uses for small to medium-sized projects.

Full scale use case:

from LFPWM.users import User

if __name__ == "__main__":
    # Register a new user
    user = User.register("john_doe", "secure_password")

    if user:
        # Log in with the registered user
        logged_in_user = User.login("john_doe", "secure_password")

        if logged_in_user:
            # Insert some password data
            logged_in_user.insert_data("Email", "john_doe@example.com")
            logged_in_user.insert_data("Bank", "1234")

            # View stored password data
            print("Stored password data:")
            logged_in_user.get_data()

            # Remove password data
            logged_in_user.remove_data("Bank")

            # View updated password data
            print("Stored password data after removal:")
            logged_in_user.get_data()

            # Set a new username
            logged_in_user.set_username("john_smith")

            # Set a new password
            logged_in_user.set_password("new_secure_password")

            # Log out
            print("Logging out.")
            logged_in_user = None
        else:
            print("Login failed.")
    else:
        print("Registration failed.")

The output for this file:

Registration successful.
Stored password data:
Email john_doe@example.com
Bank 1234
Stored password data after removal:
Email john_doe@example.com
Logging out.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

LFPWM-1.1.0.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

LFPWM-1.1.0-py3-none-any.whl (7.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page