Deseo adquirir una cadena de contraseña del usuario en Android.Obteniendo una matriz char del usuario sin usar un String
No quiero que esta cadena se almacene en Java String en ningún punto del proceso desde que el usuario lo escribe, hasta donde llega a mi código en una matriz de caracteres o de bytes.
El motivo es el mandato de Sun contra el uso de cadenas de Java para datos confidenciales. "Los objetos de tipo cadena son inmutables, es decir, no hay métodos definidos que le permitan cambiar (sobrescribir) o poner a cero el contenido de una cadena después del uso. Esta característica hace que los objetos String no sean aptos para almacenar información sensible a la seguridad como el usuario contraseñas. En su lugar, siempre debe recopilar y almacenar información confidencial de seguridad en una matriz de caracteres ". http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx
así que no puedo usar EditarTexto, debido a que utiliza cadenas internamente (a pesar de que devuelve un editable, que posiblemente podría ser respaldado por char [] o Char []?).
¿Cuál es la forma más simple de aceptar una matriz de caracteres del usuario? Estoy adivinando un lienzo en el que escucho eventos clave?
Use una secuencia de caracteres Char, tal vez? – Sparky
Le sugiero que lea esto si aún no lo ha hecho: http://www.mail-archive.com/[email protected]/msg01647.html –
Gracias por el enlace a esa discusión. La discusión refleja el argumento ofrecido por Lenik a continuación.Lo descarto por las razones en el comentario adjunto a su sugerencia. –