Weak passwords

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Weak passwords

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. Using a short, common password like '123456' is considered weak.
A True
B False
2. Which is a stronger password: 'Tr7$mQ9!zL' or 'password1'?
A Tr7$mQ9!zL
B password1
3. Reusing your pet's name as a password makes it hard to guess.
A True
B False
4. Which is more secure: a long random password, or a short dictionary word?
A Long random password
B Short dictionary word
5. Adding a single number to the end of a common word, like 'password1', makes a password strong.
A True
B False

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1password = "123456" Apassword = generate_secure()
2password = "qwerty" Bmin_length = 12
3A strong password uses length, randomness and mixed characters CAn example of a weak, easily guessable password
4Enforcing a minimum password length improves security DA common weak password based on a keyboard pattern
5password = username EThe mistake: setting the password equal to the username
6password = birthdate FThe mistake: using a predictable personal detail as the password

Definitions

Weak password

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
________ = "123456"
2.
__________ = 8
3.
if ___(password) < min_length:
4.
def ______________():
5.
_______ = True

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A password = "password"
B hashed = hash(password)
C store(hashed)
Question 2
A password = get_input()
B min_length = 4
C check_length(password)
Question 3
A password = generate_secure()
B hashed = hash(password)
C password = "qwerty"
Question 4
A username = "admin"
B password = get_input()
C check_complexity(password)
D password = username
Question 5
A password = get_input()
B min_length = 8
C require_numbers = True
D require_symbols = True
E skip_complexity_check = True

Answer Key

Weak passwords
Section A: Quick Questions
Q1
A — True
Q2
A — Tr7$mQ9!zL
Q3
B — False
Q4
A — Long random password
Q5
B — False
Section B: Match the Pairs
Q1
password = "123456" → An example of a weak, easily guessable password
Q2
password = "qwerty" → A common weak password based on a keyboard pattern
Q3
A strong password uses length, randomness and mixed characters → password = generate_secure()
Q4
Enforcing a minimum password length improves security → min_length = 12
Q5
password = username → The mistake: setting the password equal to the username
Q6
password = birthdate → The mistake: using a predictable personal detail as the password
Section C: Definitions
Q1
Weak password — A password that is short, common, or predictable, making it easy for attackers to guess or crack.
Section D: Fill in the Blanks
Q1
password = "123456"
Q2
min_length = 8
Q3
if len(password) < min_length:
Q4
def check_strength():
Q5
is_weak = True
Section E: Spot the Error
Q1
A — Line 1 uses the word "password" itself, one of the most common weak passwords.
Q2
B — Line 2 sets the minimum required length to 4, far too short to be secure.
Q3
C — Line 3 overwrites the secure password with the common, predictable "qwerty".
Q4
D — Line 4 sets the password equal to the username, making it trivially guessable.
Q5
E — Line 5 skips the complexity check, undoing the earlier security requirements.