The bloom filter space efficient, probabilistic data structure. It is generally seeded with a list of common passwords. A hash table of N bits is defined and each entry is initially set to 0. For each password, its k hash values are calculated and the corresponding bit in the table is set to 1. When a user chooses a password, the password is calculated and if the corresponding entries are already set to 1, the password is rejected. False positives can make it hard for users to choose passwords even if they're unique.