Suppose that a hacker has stolen a company’s SQLite database, inside of which is a table with hashes of users’ passwords, including your own. And suppose that each password has been hashed with generate_password_hash and can be checked against a non-hashed password with check_password_hash, as in Problem Set 9.
1. (3 points.) Suppose that your password (foolishly!) happens to be an English word and that the hacker knows that. Assuming the hacker has a dictionary of English words, as from Problem Set 5, the hacker could try to “crack” (i.e., figure out) your password by writing a program that iterates over that dictionary, comparing each word therein against the stolen hash of your password, using check_password_hash until it returns True. Assuming there are n English words in the dictionary, what’s the running time of the adversary’s algorithm, using big-O notation? In no more than three sentences, why?