Beh... questa è una domanda un po' bastarda!
Cioè, da un lato la tecnica migliore per risolvere problemi del genere è quella che ti spiegavo prima, per contro in una password è auspicabile che possano venire usati il maggior numero di caratteri possibili e quindi sarebbe certamente più semplice usare il metodo che usavi tu. In conclusione se vuoi una risposta, ma devi giurare che non la impugnerai mai in un tribunale, nel caso della password io farei uno strappo alla regola e controllorei che la password non contenga i caratteri "'" e ";", che sono quelli che potrebbero servire a una SQL Injection. Poi per parafrasare il saggio "è una questione di esperienza e buon gusto" e io ci aggiungerei anche un po' buon senso.