P#PassNumber

No account ยท nothing saved

Test the
strength.

Pick a grid size and how many rows to neglect, and see the two numbers that move in opposite directions โ€” how hard you are to watch versus how hard you are to guess. Then try a no-risk round at that size.

Symbol set

Quick sizes

Rows
Rows that hold a symbol or are neglected
5
Symbols per row
More symbols = more positions (4โ€“9)
9
Neglected rows
At least 3 rows always keep a symbol
0
Hard to watch
โ€”
Hard to guess
โ€”

Show the math & the neglect trade-offโ€บ

With a single masked field and decoy rows that take any number on the grid, two numbers move oppositely as you neglect more rows (A = active rows, N = neglected, C = symbols):

Hard to watch = C^N โ€” how many different valid digit strings exist, so an onlooker can't pin yours down.
Hard to guess = C^A โ€” the real secret strength against blind guessing.

Each neglected row multiplies "hard to watch" by C and divides "hard to guess" by C. So neglect rows buy watcher-confusion with guessing-strength โ€” exactly the trade you intuit. There's no single best; it depends which you care about. For shoulder-surf-first use, a couple of neglected rows is a strong choice while keeping enough active rows.

How strong is "hard to guess", really?โ€บ

At the login screen, guessing is bounded by the lockout (5 tries every 15 minutes). Exhausting the "hard to guess" space would take about โ€” in the worst case โ€” assuming the lockout holds and an attacker can't take a stolen database offline.

These numbers are deliberately modest: PassNumber's job is resisting shoulder-surfing, with guessing-resistance as a backstop. Treat it like a good PIN, not a long random password.

salted-hash storage ยท single-use board
A working demonstration of the PassNumber method. Your symbols are never stored โ€” only a salted hash is.