Skip to content

Instantly share code, notes, and snippets.

@haeshh
Created Feb 6, 2021
Embed
What would you like to do?
Test, ob ein Passwort in einem Leak auf haveibeenpwned.com enthalten ist; siehe https://unsinnsbasis.de/pwned/
# Test, ob ein Passwort im Bestand von haveibeenpwned.com enthalten ist
#
import hashlib
import urllib.request
pwd = input('Zu testendes Passwort eingeben: ')
hash_object = hashlib.sha1(pwd.encode())
pwd_hash = hash_object.hexdigest().upper()
pwd_hash_prefix = pwd_hash[:5]
pwd_hash_rest = pwd_hash[5:]
anzahl = 0
print('SHA1-Hash: ', pwd_hash)
pwned_url = urllib.request.Request('https://api.pwnedpasswords.com/range/' + pwd_hash_prefix, headers=dict([('User-Agent', 'Mozilla/5.0')]))
hash_liste = urllib.request.urlopen(pwned_url)
for line in hash_liste:
line = line.decode('utf-8').upper().strip()
if pwd_hash_rest in line:
anzahl = line[36:]
break
if anzahl == 0:
print('Passwort "' + pwd + '" ist nicht im Bestand von haveibeenpwned.com enthalten')
else:
print('Passwort "' + pwd + '" ist ' + anzahl + '-mal im Bestand von haveibeenpwned.com enthalten')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment