Add 'Have I been pwned?' validator to Magento 2.
This module adds a validator which checks if the submitted password is found in public databases using the Have I Been Pwned?
service., (*1)
There are no security drawbacks, because there are no actual passwords being submitted over the internet. This is possible by hashing the password using the SHA-1
algorithm and request all hashes in the Have I been Pwned?
databases starting with the first 5 characters of the password hash. This resultset contains a list of hashes and the amount of occurrences., (*2)
This way the password stays inside the Magento process., (*3)
composer require timpack/magento2-module-pwned-validator bin/magento setup:upgrade
You can configure the threshold of the validator, at which count of occurrences in the resultset the password should be considered insecure/invalid. This configuration can be found at:, (*4)
Stores -> Configuration -> Customer -> Customer Configuration -> Pwned Validator -> Minimum amount of matches
, (*5)
This module was heavily inspired by Valorin's Pwned validator written for Laravel: valorin/pwned-validator, (*6)