Desidero acquisire una stringa di password dall'utente su Android.Ottenere un array di caratteri dall'utente senza utilizzare una stringa
Non voglio che questa stringa venga memorizzata in una stringa Java in qualsiasi punto del processo dal momento in cui l'utente la digita, nel punto in cui arriva nel mio codice in un array di caratteri o di byte.
La ragione di ciò è l'ingiunzione di Sun di utilizzare Java Strings per dati sensibili. "Gli oggetti di tipo String sono immutabili, ovvero non ci sono metodi definiti che consentono di modificare (sovrascrivere) o azzerare il contenuto di una stringa dopo l'uso Questa caratteristica rende gli oggetti String inadatti per la memorizzazione di informazioni sensibili alla sicurezza come l'utente password. Dovresti sempre raccogliere e archiviare le informazioni sensibili per la sicurezza in un array di caratteri. " http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx
quindi non posso usare EditText, perché utilizza stringhe internamente (anche se si restituisce un modificabile, che, concettualmente, potrebbe essere sostenuta da char [] o Char []?).
Qual è il modo più semplice per accettare un array di caratteri dall'utente? Immagino una tela su cui ascolto gli eventi chiave?
Utilizzare un CharSequence, forse? – Sparky
Ti suggerisco di leggere questo se non l'hai già fatto: http://www.mail-archive.com/[email protected]/msg01647.html –
Grazie per il link a quella discussione. La discussione rispecchia l'argomento offerto da Lenik in basso.Scordo quello per le ragioni nel commento aggiunto al suo suggerimento. –