Skip to content

Releases: suchsoak/Strong-Password-Python

v.1.0.3

01 May 17:24
f7af517
Compare
Choose a tag to compare
__________                                                ___
\______   \____    ______ _______  _  __ ____ _______  __| _/
 |     ___/__  \  /  ___//  ___/ \/ \/ // __ \\_  __ \/ __ | 
 |    |    / __ \_\___ \ \___ \ \     /(  \_\ )|  | \/ /_/ | 
 |____|   (____  /____  \____  \ \/\_/  \____/ |__|  \____ | 
               \/     \/     \/                           \/ 
BY: suchsoak
Github: https://github.com/suchsoak       
V.1.0.3                   

[1] Strong
[2] Weak
[3] Email (API)
[4] Email Hash
[5] Company
[6] Have i been pwned

News

We've had some fixes and changes to the code, but not much has changed. The biggest news is the new scripts that are all explained below.

  • clear = os.system("clear")
  • Email (API)
  • Email Hash
  • Company
Email

Email API

This is a request to find out if your email has been leaked on the dark web, using the Have i Been pwned API. But for that you need the API key

Then, You will put the email and your API key

You need have the API key

   Put your API key: admin@gmail.com
   Put your API key: 01010.00100.010.101

Part of the script

 email = input("Put the email:")
                API = input("Put your API key:")
                url = f"https://haveibeenpwned.com/api/v3/breachedaccount/{email}"
                headers = {"hibp-api-key": "{API}"}  

Email Hash

The Email hash it creates a hash of the email you put in and checks if that hash has already been leaked, it's an attempt to use the API for free. But it's not 100% that it will work.

It's the same thing you do as option 6 sends a hash that checks whether or not it's already been leaked.

Part of the code

email_1 = input("Put your Email:" )
            colorama.init()
            print(Fore.RED)
            print("\t")
            Email = email_1
            hash_password = hashlib.sha1(Email.encode('utf-8')).hexdigest().upper()
            url = f"https://api.pwnedpasswords.com/range/{hash_password[:5]}"
            req = requests.get(url)
            hashes = req.text.split('\n')
            pwned = False
            for hash in hashes:
                if hash.startswith(hash_password[5:]):
                    pwned = True
                    break
            if pwned: 
                print("[!] Yes, your email has been pwned.")
            else:
                print("[!] No, your email has not been pwned.")

If you want see more details

API Link
haveibeenpwned https://haveibeenpwned.com/API/v3#BreachModel
Company

Company

This option checks if any information from a company has already been leaked, such as sony.

Put the number: 5

Put the Company:sony
{"Name":"Sony","Title":"Sony","Domain":"sony.com","BreachDate":"2011-06-02","AddedDate":"2013-12-04T00:00:00Z","ModifiedDate":"2013-12-04T00:00:00Z","PwnCount":37103,"Description":"In 2011, Sony suffered breach after breach after breach &mdash; it was a <em>very</em> bad year for them. The breaches spanned various areas of the business ranging from the PlayStation network all the way through to the motion picture arm, Sony Pictures. A SQL Injection vulnerability in <a href=\"http://www.sonypictures.com\" target=\"_blank\" rel=\"noopener\">sonypictures.com</a> lead to <a href=\"http://www.troyhunt.com/2011/06/brief-sony-password-analysis.html\" target=\"_blank\" rel=\"noopener\">tens of thousands of accounts across multiple systems being exposed</a> complete with plain text passwords.","LogoPath":"https://haveibeenpwned.com/Content/Images/PwnedLogos/Sony.png","DataClasses":["Dates of birth","Email addresses","Genders","Names","Passwords","Phone numbers","Physical addresses","Usernames"],"IsVerified":true,"IsFabricated":false,"IsSensitive":false,"IsRetired":false,"IsSpamList":false,"IsMalware":false,"IsSubscriptionFree":false}
Don't have nothing about this company: sony

Note that for this to work you need to get the curl tool which in turn is already standard for any operating system to get it

   s.system(f'\ncurl https://haveibeenpwned.com/api/v3/breach/{Company}\n')

License & Copyright

MIT License Copyright (c) 2024 ~#M?x

Libraries Links
haveibeenpwned https://haveibeenpwned.com/API/v3#BreachModel
OS https://docs.python.org/3/library/os.html
Have I Been Pwned https://haveibeenpwned.com/API/Key

Strong-Password-Python

05 Nov 22:59
93416c6
Compare
Choose a tag to compare
__________                                                ___
\______   \____    ______ _______  _  __ ____ _______  __| _/
 |     ___/__  \  /  ___//  ___/ \/ \/ // __ \\_  __ \/ __ | 
 |    |    / __ \_\___ \ \___ \ \     /(  \_\ )|  | \/ /_/ | 
 |____|   (____  /____  \____  \ \/\_/  \____/ |__|  \____ | 
               \/     \/     \/                           \/ 
BY: suchsoak
Github: https://github.com/suchsoak  
V.1.0.1                        

[1] Strong
[2] Weak

Details

The password generator script uses the Python programming language and utilizes a variety of Python libraries such as colorama, random, string, and zxcvbn.

To generate a strong or weak password, the user must enter the number "1" or "2" when prompted.

If the user enters "1", the script generates a strong password using all ASCII characters, including lowercase, uppercase, digits, and punctuation. The length of the password is determined by the user's input.

If the user enters "2", the script generates a weak password using only lowercase and uppercase ASCII characters. The length of the password is determined by the user's input.

In both cases, the script stores the generated password in a text file named "password.txt". Additionally, the script uses the zxcvbn library to estimate the strength of the generated password and provides information about the password, such as its estimated strength, entropy, and a detailed breakdown of its composition.

To improve the script, consider adding features like the ability to generate multiple passwords, save generated passwords in separate files, or create passwords that meet specific strength requirements.

Have i been pwned integrated

06 Dec 16:24
190cd18
Compare
Choose a tag to compare
__________                                                ___
\______   \____    ______ _______  _  __ ____ _______  __| _/
 |     ___/__  \  /  ___//  ___/ \/ \/ // __ \\_  __ \/ __ | 
 |    |    / __ \_\___ \ \___ \ \     /(  \_\ )|  | \/ /_/ | 
 |____|   (____  /____  \____  \ \/\_/  \____/ |__|  \____ | 
               \/     \/     \/                           \/ 
BY: suchsoak
Github: https://github.com/suchsoak       
V.1.0.2                   

[1] Strong
[2] Weak
[3] Have i been pwned

 ....................~~...~. .. 
 ........... .. .~.....  . +~   
 ......... ....~.~. ........~.  
 ...... . ......  ......... .   
 ......~~~~.~~~~......... .~. . 
 ....~~~~~~~~~..~~~~~~  ... . . 
 ..~~~+~~~~~.~~~~~+oooo++~.....
~~~~~~~~~.~.~~~+++ooooo++.....
..~~~~~~~.~~+~+++ooo+++~......
... . ..~~~+++++oo+++.........
.....  . .++++ooo+~. .........
........ . .~++~.. ...........
........... .~.. .............

Have i been pwned

Now the script determines whether the password that was generated regardless of your choice weak or strong, if it has already been leaked on the dark web.

Important

Have mind that for it work you need instal hashlib and requests

 print("Have I Been Pwned")
            Password = Password
            hash_password = hashlib.sha1(Password.encode('utf-8')).hexdigest().upper()
            url = f"https://api.pwnedpasswords.com/range/{hash_password[:5]}"
            req = requests.get(url)
            hashes = req.text.split('\n')
            pwned = False
            for hash in hashes:
                if hash.startswith(hash_password[5:]):
                    pwned = True
                    break
            if pwned:
                print("[!] Yes, your password has been pwned.")
            else:
                print("[!] No, your password has not been pwned.")
            time.sleep(2)

[3] Have i been pwned

You can now put an option to verify a specific password of yours that you may or may not have already leaked on the dark web

Strong, Weak or Have i been pwned: 3

            /\   /\                       __ ___                                                            ___
            /  |_|  \_____  ___  __ ____  |__|\_ |__   ____   ____   ____  ______ __  _  __ ____   ____   __| _/
            /         \__  \ \  \/ // __ \ |  | | __ \_/ __ \_/ __ \ /    \ \____ \ \/ \/ //    \_/ __ \ / __ |
            \    _    // __ \_\   /\  ___/_|  | | \_\ \  ___/_  ___/_   |  \|  |_\ \     /|   |  \  ___/_ /_/ |
            \  | |  /(____  / \_/  \___  /|__| |___  /\___  /\___  /___|  /|   ___/ \/\_/ |___|  /\___  /____ |
            \/   \/      \/           \/          \/     \/     \/     \/ |__|                \/     \/     \/


Put your PASSWORD: