Skip to content
Have I Been Pwned API v3 library
Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
src
.gitignore
Cargo.lock
Cargo.toml
LICENSE
readme.md

readme.md

pwnage.rs

crates.io

Have I Been Pwned API v3 library

Documentation: Have I Been Pwned: API v3

HIBP API

Options Description Arguments
breached_account all breaches for an account (truncated response) account
breached_account_full all breaches for an account account
breached_account_by_domain all breaches for an account by domain (truncated response) account, domain
breached_account_by_domain_full all breaches for an account by domain account, domain
breaches all breached sites -
breaches_by_domain breached sites in the system by domain domain
breach single breached site name
data_classes all data classes -
paste_account all pastes for an account account
pwned_passwords search Pwned Passwords password

Example

let api_key = String::from("API-KEY"); // HIBP API Key
let user_agent = String::from("GitHub.com/OptionalValue");
let hibp = pwnage::HIBP::new(api_key, user_agent);
let email_address = "name@example.com"; // Email Address
let breaches = hibp.breached_account_full(email_address)?;
	for breach in &breaches {
        println!(
            "Name: {:?} | Title: {:?} | Date: {:?}",
            breach.name, breach.title, breach.breach_date
        );
}

Pwned Passwords

Pwnage sends the first five characters of the password hash to HIBP and receives the suffixes of the matching prefix. Pwnage compares the suffix locally and returns the result.

Options Description Arguments
pwned_passwords search Pwned Passwords password

Example

let password = "Password123";
let user_agent = "GitHub.com/OptionalValue";
let pwned_password = pwnage::pwned_passwords(password, user_agent)?;
println!(
    "Pwned?: {:?} | Times: {:?}",
    pwned_password.pwned, pwned_password.times
);
You can’t perform that action at this time.