Skip to content

Instantly share code, notes, and snippets.

@JimWestergren
Last active December 22, 2023 23:06
Show Gist options
  • Save JimWestergren/a4baf4716bfad6da989417a10e1ccc5f to your computer and use it in GitHub Desktop.
Save JimWestergren/a4baf4716bfad6da989417a10e1ccc5f to your computer and use it in GitHub Desktop.
Simple method to check the Pwned Passwords API using PHP
<?php
/**
* Simple method to use the API from https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/
* Written by Jim Westergren and released to public domain
* @return int count
*/
function checkPawnedPasswords(string $password) : int
{
$sha1 = strtoupper(sha1($password));
$data = file_get_contents('https://api.pwnedpasswords.com/range/'.substr($sha1, 0, 5));
if (FALSE !== strpos($data, substr($sha1, 5))) {
$data = explode(substr($sha1, 5).':', $data);
$count = (int) $data[1];
}
return $count ?? 0;
}
@MedeirosGuilherme
Copy link

Does it need the whole installation of the library first or this code alone will do the trick?

@JimWestergren
Copy link
Author

Does it need the whole installation of the library first or this code alone will do the trick?
@MedeirosGuilherme Those lines is all that is needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment