#password #security #password-hash #nist #cli-tool #output-format #binary-format

app haveibeenpwned-downloader

cli tool to download leaked password hashes from haveibeenpwned api

1 unstable release

0.1.0 Jun 30, 2024

#1068 in Command line utilities

MIT license

20KB
383 lines

Have I Been Pwned Downloader

Inspired by https://github.com/HaveIBeenPwned/PwnedPasswordsDownloader


haveibeenpwned-downloader is a cli 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.

Installation

With cargo:

cargo install haveibeenpwned-downloader

Or just grab a release from release page.

Usage

Usage: haveibeenpwned-downloader [OPTIONS]

Options:
  -o, --output <OUTPUT>  Output of the program, can be stdout, or file [default: -]
  -f, --format <FORMAT>  Output format, can be text or binary. Only affects `file` output [default: text] [possible values: text, binary]
  -s, --sorted           Whether output should be sorted
  -h, --help             Print help
  -V, --version          Print version

Download all SHA1 hashes to a single txt file called pwnedpasswords.txt

haveibeenpwned-downloader -o pwnedpasswords.txt

Download all SHA1 hashes to a single binary file called pwnedpasswords.bin

haveibeenpwned-downloader -f binary -o pwnedpasswords.txt 

Download all SHA1 hashes and output them to stdout in sorted order

haveibeenpwned-downloader -s -o -

Binary Format

Binary output format writes file that is just a sequence of items, where each item is:

0                        20                28
|------------------------|-----------------| 
|   password sha1 hash   |    prevalence   |
|------------------------|-----------------| 

Dependencies

~15–29MB
~464K SLoC