Package: passwordler
passwordlerThis 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 password that was encrypted using theencrypt_passwordfunction. 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 EcosystemThere 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 foundhere. Similarly, there are also other packages that check for the strength of passwords, one of which can be seenhere, this is similar to our password_strength function. There is also apassword encryption packagewhich 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.Unique Features of passwordlerpasswordlerstands out in the realm of password management packages due to its unique blend of user-friendliness and security, tailored for individuals with varying levels of technical expertise. Here's what setspasswordlerapart:Ease of Understanding:Every aspect of the encryption and decryption process is designed to be easily understood, even by users with only high-school-level tech knowledge.Simplicity Over Complexity:The package avoids the complexity and opacity of nested package dependencies. It is not simply importing and adjusting the parameters of industry-standard AES encryption or SHA-256 hashing, but trying to make the workflow as transparent as possible.Enhanced Security for Beginners:Unlike naive encryption techniques like the Caesar Cipher and Vigenere Cipher, which are educational but also easy to crack with a finite number of guesses,passwordlerprovides a level of security that surpasses beginner-level algorithms.Original Algorithm:The encryption algorithm was developed from the ground up, maintaining originality and individual intellectual property.passwordleris perfect for users who want to understand and control their password security without delving into complex cryptographic standards. It offers more security than basic algorithms, all while ensuring the codebase remains accessible and maintainable.InstallationTo installpasswordlertype the following command into your terminal:$ pip install passwordlerDocumentationOur online documentation can be foundhere.Usingpasswordlerin PythonAfter installingpasswordlerwith pip, you can use its functions in Python as follows:Encrypting a Password:frompasswordler.encrypt_passwordimportencrypt_password# Encrypt a password with a default seedencrypted_password=encrypt_password("YourPasswordHere")print(encrypted_password)# Prints the encrypted passwordIf you want to use a specific seed for the encryption, you can pass it as a second argument:# Encrypt a password with a specific seedencrypted_password=encrypt_password("YourPasswordHere",42)print(encrypted_password)# Prints the encrypted password using the specified seedDecrypting a Password:To decrypt a password that was encrypted with theencrypt_passwordfunction, use thedecrypt_passwordfunction with the same seed used for encryption:frompasswordler.decrypt_passwordimportdecrypt_password# Decrypt a passworddecrypted_password=decrypt_password(encrypted_password,42)print(decrypted_password)# Prints the decrypted password, which should match "YourPasswordHere"Evaluating Password Strength:Thepassword_strengthfunction evaluates the strength of a password based on length, use of uppercase letters, numbers, and special characters:frompasswordler.password_strengthimportpassword_strength# Evaluate the strength of a passwordstrength=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_strengthfunction will rate the password as 'Weak', 'Good', or 'Strong' based on its complexity and common password patterns.Generating a Password:generate_passwordallows you to create a secure password of customizable length and complexity, with options to include or exclude special characters and numbers.frompasswordler.generate_passwordimportgenerate_password# Encrypt a password with a default seedpassword=generate_password()print(password)# Prints the generated passwordThe 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 numbersRunning TestsTo ensurepasswordleris functioning correctly on your system, you can run the test suite withpytest. First, ensure you havepytestinstalled:$pipinstallpytestIf you have cloned the repository and want to run the tests, navigate to the root directory of the project and execute:$pytestTo show test coverage report$pytest--cov=passwordler--cov-reporttermContributingFor information about how to contribute to this package, please review ourContributing document. All contributors must abide by ourCode of ConductLicenseThis packages uses the MIT License, more information can be foundhereCreditspasswordlerwas created withcookiecutterand thepy-pkgs-cookiecuttertemplateContributorsMichelle HunnKiersten GilbergRory WhiteYiwei Zhang