Pwned Passwords check (offline)
Project description
Pwned Passwords check (offline)
Quickstart
- Download "SHA-1" version "(ordered by hash)" from https://haveibeenpwned.com/Passwords
- Extract file, yielding
pwned-passwords-sha1-ordered-by-hash-v7.txt
(for current version 7)
Simple usage
from pwnedpasswords_offline import PwnedPasswordsOfflineChecker
if PwnedPasswordsOfflineChecker("data/pwned-passwords-sha1-ordered-by-hash-v7.txt").lookup_raw_password("Password1!"):
print("Pwned!")
Batch usage
You can also pre-open the database file, especially if you're checking multiple passwords in bulk:
from pwnedpasswords_offline import PwnedPasswordsOfflineChecker
checker = PwnedPasswordsOfflineChecker("data/pwned-passwords-sha1-ordered-by-hash-v7.txt")
checker.open()
for password in ["Password1!", "correct horse battery staple", "actress stapling driver placidly swivel doorknob"]:
if checker.lookup_raw_password(password):
print(f"'{password}' is pwned!")
checker.close()
You should not forget to call .close()
after you're done.
As context manager
You can use the object as a context manager to automatically open and close it:
from pwnedpasswords_offline import PwnedPasswordsOfflineChecker
with PwnedPasswordsOfflineChecker("data/pwned-passwords-sha1-ordered-by-hash-v7.txt") as checker:
for password in ["Password1!", "correct horse battery staple", "actress stapling driver placidly swivel doorknob"]:
if checker.lookup_raw_password(password):
print(f"'{password}' is pwned!")
Check hash directly
Instead of calling .lookup_raw_password()
you can call .lookup_hash()
if you already have the plain SHA-1 hash:
from pwnedpasswords_offline import PwnedPasswordsOfflineChecker
if PwnedPasswordsOfflineChecker("data/pwned-passwords-sha1-ordered-by-hash-v7.txt").lookup_hash("32CA9FD4B3F319419F2EA6F883BF45686089498D"):
print("Pwned!")
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
Close
Hashes for pwnedpasswords-offline-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1b92944d8bb0d9561a121ec57dd63f912d27fc8c10919494c23fc0e12f253b |
|
MD5 | 8def8312294a4e0fd0eeace0323096f9 |
|
BLAKE2b-256 | 8fc7bb19df46ab564c7b761c7c5361a9e6dc15cfc56eb3540c292eb483f79c91 |
Close
Hashes for pwnedpasswords_offline-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bceb7630c0f472fafaf142b136f8b747a7c0f24af96326b571b9c393c93ba198 |
|
MD5 | c6372a9c74293a789d07a1155d7c352f |
|
BLAKE2b-256 | 04d241c7ef3758526b52c9cffcf710748887e55d2f87290e5e2f92e1228c432c |