una tecnica "non banale" potrebbe essere la seguente...
Esporrò la tecnica in pseudocodice, in quanto è possibile applicarla in tante situazioni.
Supponiamo di avere User: "thekaneb" e Pass: "sono_scemo.assai007"
Creiamo due stringhe.
String username = "sono_thekaneb_scemo"
String password = "passwordFALSA.assai00"
adesso via codice creiamo delle stringhe temporanee...
String p1 = username(da 0 a 4); // "sono_"
String p2 = username(da 14 a 18); // "scemo"
String p3 = password(da 14 a 21); // ".assai00"
String p4 = IntToString(21 / 3); // "7"
String p = p1 + p2 + p3 + p4; // "sono_scemo.assai007"
String u = username(da 5 a 12); // "thekaneb"
Ho ritrovato, a runtime, le stringhe originali.
In questo modo, un eventuale cracker troverebbe in chiaro due stringhe e crederebbe di avere davanti a se user e password belle e pronte. Ma le vere informazioni di login sono nascoste sotto un leggero strato di scrambling.
Molto probabilmente un cracker si fermerebbe a questo punto. Se invece non trovasse proprio nulla (password totalmente criptata), si metterebbe a decodificare anche il codice, scoprendo l'algoritmo di decodifica. In questo caso invece sarebbe "sviato" da una falsa informazione.
Ovviamente complicando a piacere l'algoritmo è possibile ottenere di volta in volta il livello di protezione desiderato. Si possono calcolare pezzi di password tramite formule matematiche, oppure estrarre vari caratteri da molte più stringhe e poi ricomporli, ecc...
Ciao!