A simple client to use v2 of the Pwned Password service provided by Troy Hunt of https://haveibeenpwned.com. No passwords are sent to the service using v2, instead just the first 5 characters are used to adhere to a k-Anonymity model.
IBreachedPasswordService calls the HIBP (haveibeenpwned.com) range search API and returns the number of times a password has appeared in a known data breach. IForbiddenPasswordService uses locally configured (via config or text file) regex patterns to check for forbidden passwords