A simple utility package for passwords
Project description
passwordler
This package provides password management tools in Python. The package consists of four functions:
generate_password
: This function creates a random password containing a mix of upper and lower case letters, numbers, and symbols. The inclusion of numbers and symbols can be controlled through parameters.password_strength
: This function tests the strength of a string to be used as a password. It determines password strength by assessing the length and the amount of capital letters, numbers and special characters used.encrypt_password
: Encrypts a password using a simple substitution cipher. This function applies a character mapping based on a shuffled character set, providing basic encryption.decrypt_password
: Decrypts a message that was encrypted using theencrypt_password
function. It reverses the encryption process by mapping each character of the encrypted message back to its original character.
This Python package is useful for users seeking an integrated solution for password management, offering a user-friendly experience. With key functionalities consolidated in one package, users can effortlessly generate strong passwords, evaluate their strength, and grasp encryption and decryption methods through our straightforward substitution cipher.
passwordler in the Python Ecosystem
There are many password related packages already on the PyPI server. We have selected a few key examples that complete the same functions as our package. An example of a package that is similar to our password_creator function can be found here. Similarly, there are also other packages that check for the strength of passwords, one of which can be seen here, this is similar to our password_strength function. There is also a password encryption package which does the same thing as our password_encryption functions. However, there were no password decryption specific function on PyPI. The advantage of our package lies in its comprehensive suite of password-related functions, complemented by an original and intuitive algorithm that demonstrates the fundamental principles of password encryption and decryption.
Installation
To install passwordler
type the following command into your terminal:
$ pip install passwordler
Documentation
Our online documentation can be found here.
Using passwordler
in Python
After installing passwordler
with pip, you can use its functions in Python as follows:
-
Encrypting a Password:
from passwordler.encrypt_password import encrypt_password # Encrypt a password with a default seed encrypted_password = encrypt_password("YourPasswordHere") print(encrypted_password) # Prints the encrypted password
If you want to use a specific seed for the encryption, you can pass it as a second argument:
# Encrypt a password with a specific seed encrypted_password = encrypt_password("YourPasswordHere", 42) print(encrypted_password) # Prints the encrypted password using the specified seed
-
Decrypting a Password:
To decrypt a password that was encrypted with the
encrypt_password
function, use thedecrypt_password
function with the same seed used for encryption:from passwordler.decrypt_password import decrypt_password # Decrypt a password decrypted_password = decrypt_password(encrypted_password, 42) print(decrypted_password) # Prints the decrypted password, which should match "YourPasswordHere"
-
Evaluating Password Strength:
The
password_strength
function evaluates the strength of a password based on length, use of uppercase letters, numbers, and special characters:from passwordler.password_strength import password_strength # Evaluate the strength of a password strength = password_strength("YourPasswordHere") print(strength) # Prints the strength of the password (e.g., 'Your password is: Strong')
Remember to replace
"YourPasswordHere"
with the actual password you wish to process in the above examples. Thepassword_strength
function will rate the password as 'Weak', 'Good', or 'Strong' based on its complexity and common password patterns. -
Generating a Password:
generate_password
allows you to create a secure password of customizable length and complexity, with options to include or exclude special characters and numbers.from passwordler.generate_password import generate_password # Encrypt a password with a default seed password = generate_password() print(password) # Prints the generated password
The function has three default parameters:
length
=12,include_special_characters
=True,include_numbers
=True. You can change these parameters to generate a password of your liking.generate_password(45, False, False) # Generates a password of length 45 without special characters and numbers
Running Tests
To ensure passwordler
is functioning correctly on your system, you can run the test suite with pytest
. First, ensure you have pytest
installed:
$ pip install pytest
If you have cloned the repository and want to run the tests, navigate to the root directory of the project and execute:
$ pytest
To show test coverage report
$ pytest --cov=passwordler --cov-report term
Contributing
For information about how to contribute to this package, please review our Contributing document. All contributors must abide by our Code of Conduct
License
This packages uses the MIT License, more information can be found here
Credits
passwordler
was created with cookiecutter
and the py-pkgs-cookiecutter
template
Contributors
- Michelle Hunn
- Kiersten Gilberg
- Rory White
- Yiwei Zhang
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
Built Distribution
File details
Details for the file passwordler-0.0.2.tar.gz
.
File metadata
- Download URL: passwordler-0.0.2.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d723cae4006471c6c41293e03faf0ef85c4af51c3509554a341ed4eeb1447b4b |
|
MD5 | 486c3dca38308ea20a05b2e3c72abb97 |
|
BLAKE2b-256 | a019d5e7b5bb06149ebe6957de2d364bac163d3bd7df253f9270c4f402eeccca |
File details
Details for the file passwordler-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: passwordler-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ccac397a95c7c2e18fc2e81d0225e96082c4eacde57315c8dbd28a63239f86f |
|
MD5 | f5aa9fb738c0d13fb7edacb975df5dbf |
|
BLAKE2b-256 | 20944f4eba113bd5e34c797228518f24229b64c5f9e8086bdf533178364ea893 |