Pensandoci bene....

Rimango dell'opinione che nessuna autenticazione lato client possa essere sicura quanto una lato server....

Il sistema di autenticazione sembra interessante ma in fondo in fondo molto facile da crackare...
La presenza di più controlli nell'IF implica la possibilità di accesso tramite 9 password diverse (in realtà 8 perchè due numeri sono uguali).

Il sistema è banale da crackare (anche a mano) proprio perchè si esegue un controllo lato client che da molte informazioni. Secondo me sarebbe molto più sicuro non fare nessun controllo e chiamare direttamente la pagina che deve avere lo stesso nome della password. Il problema è che se non becco la password viene invocata una pagina che non esiste. (in realtà la stessa cosa avviene nel caso proposto se si beccano tutti i caratteri della password ma l'ordine è sbagliato)

Veniamo a noi... il problema sarebbe più difficile se il prodotto potesse avere fattori nell'intero intervallo (0-255), in realtà questo non avviene. Dato che i caratteri della password sono anche quelli del nome della pagina si possono escludere i caratteri di interpunzione dall'insieme dei caratteri possibili (anche se parentesi e qualche altro simbolo ci potrebbe stare...) oltre a quelli non stampabili. Escludiamo anche gli ascii > 127. Rimangono numeri e caratteri (miuscoli, maiuscoli o entrambi? il codice parla da se'). A questo punto si va per tentativi usando più volte una ben nota operazione imparata alle elementari (una calcolatrice può essere utile o ancora meglio un programmino fatto ad hoc). Trovati tutti i caratteri della password il più è fatto, bisogna solo trovare l'ordine giusto. Per fare questo basta fare un brute force usando l'insieme dei caratteri trovati e provando tutte le permutazioni. La cosa è piuttosto agile visto il numero limitato di caratteri, 3-5 per i numeri presenti nell'esempio da te postato il che implica da 3!=6 a 5!=120 combinazioni.

Spero di non esermi spinto troppo oltre. Con questo non ho voluto insegnare a crackare l'algoritmo (spero di essere stato sufficientemente vago) ma solo mostrare che non è affatto sicuro.

bye