haveibeenpwned-downloader is a dotnet tool to download all Pwned Passwords hash ranges and save them offline so they can be used without a dependency on the k-anonymity API.
An alternative to running this tool is to use Zsolt Müller's cURL approach in https://github.com/HaveIBeenPwned/PwnedPasswordsDownloader/issues/79 that makes use of a glob pattern and parallelism.
You'll need to install the latest LTS (Long Term Support) or STS (Short Term Support) version of the .NET SDK to be able to install and run the tool.
dotnet tool install --global haveibeenpwned-downloaderdotnet tool update --global haveibeenpwned-downloaderIf the installer is unable to resolve the package, then you can run the following and then try again.
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
pwnedpasswords.txthaveibeenpwned-downloader.exe pwnedpasswords
hasheshaveibeenpwned-downloader.exe pwnedpasswords -s false
pwnedpasswords_ntlm.txthaveibeenpwned-downloader.exe -n pwnedpasswords_ntlm
pwnedpasswords.txt :haveibeenpwned-downloader pwnedpasswords
hashes:haveibeenpwned-downloader pwnedpasswords -s false
pwnedpasswords_ntlm.txt :haveibeenpwned-downloader -n pwnedpasswords_ntlm
| Parameter | Default value | Description |
|---|---|---|
| -s/--single | true | Determines whether to download hashes to a single file or as individual .txt files into another directory |
| -p/--parallelism | Same as Environment.ProcessorCount | Determines how many hashes to download at a time |
| --max-retries | Unlimited | Determines how many times each prefix is retried after a failure. Omit for unlimited retries, or pass 0 to disable retries. Retry delays increase per prefix up to 10 seconds. |
| -o/--overwrite | false | Determines if output files should be overwritten or not |
| -n | (none) | When set, the downloader fetches NTLM hashes instead of SHA1 |
hashes using 64 threads to download the hasheshaveibeenpwned-downloader.exe hashes -s false -p 64
pwnedpasswords.txt using 64 threads, overwriting the file if it already existshaveibeenpwned-downloader.exe pwnedpasswords -o -p 64
haveibeenpwned-downloader.exe pwnedpasswords --max-retries 5
C#
100.0%
haveibeenpwned-downloader is a dotnet tool to download all Pwned Passwords hash ranges and save them offline so they can be used without a dependency on the k-anonymity API.
An alternative to running this tool is to use Zsolt Müller's cURL approach in https://github.com/HaveIBeenPwned/PwnedPasswordsDownloader/issues/79 that makes use of a glob pattern and parallelism.
You'll need to install the latest LTS (Long Term Support) or STS (Short Term Support) version of the .NET SDK to be able to install and run the tool.
dotnet tool install --global haveibeenpwned-downloaderdotnet tool update --global haveibeenpwned-downloaderIf the installer is unable to resolve the package, then you can run the following and then try again.
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
pwnedpasswords.txthaveibeenpwned-downloader.exe pwnedpasswords
hasheshaveibeenpwned-downloader.exe pwnedpasswords -s false
pwnedpasswords_ntlm.txthaveibeenpwned-downloader.exe -n pwnedpasswords_ntlm
pwnedpasswords.txt :haveibeenpwned-downloader pwnedpasswords
hashes:haveibeenpwned-downloader pwnedpasswords -s false
pwnedpasswords_ntlm.txt :haveibeenpwned-downloader -n pwnedpasswords_ntlm
| Parameter | Default value | Description |
|---|---|---|
| -s/--single | true | Determines whether to download hashes to a single file or as individual .txt files into another directory |
| -p/--parallelism | Same as Environment.ProcessorCount | Determines how many hashes to download at a time |
| --max-retries | Unlimited | Determines how many times each prefix is retried after a failure. Omit for unlimited retries, or pass 0 to disable retries. Retry delays increase per prefix up to 10 seconds. |
| -o/--overwrite | false | Determines if output files should be overwritten or not |
| -n | (none) | When set, the downloader fetches NTLM hashes instead of SHA1 |
hashes using 64 threads to download the hasheshaveibeenpwned-downloader.exe hashes -s false -p 64
pwnedpasswords.txt using 64 threads, overwriting the file if it already existshaveibeenpwned-downloader.exe pwnedpasswords -o -p 64
haveibeenpwned-downloader.exe pwnedpasswords --max-retries 5
C#
100.0%