Skip to content

Instantly share code, notes, and snippets.

@najathi
Created February 22, 2021 05:00
Show Gist options
  • Save najathi/9481b2804272754fe82d17fa28e895dd to your computer and use it in GitHub Desktop.
Save najathi/9481b2804272754fe82d17fa28e895dd 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;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment