我想从Android上的用户获取密码字符串。从用户获取字符数组而不使用字符串
我不希望该字符串存储在Java字符串中的任何时刻,从用户输入它到它到达我的代码中的字符或字节数组。
原因是Sun禁止将Java字符串用于敏感数据。 “String类型的对象是不可变的,也就是说,没有定义方法允许您在使用后更改(覆盖)或清零字符串内容。此功能使得String对象不适合存储安全敏感信息,如用户密码,你应该总是收集和存储安全敏感的信息在char数组中。“ http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx
所以我不能使用的EditText,因为使用字符串内部(即使它返回一个可编辑其可以想见,通过的char []或字符[]备份?)。
从用户接受字符数组的最简单方法是什么?我在猜测一个关于重要事件的Canvas?
使用CharSequence,也许? – Sparky
我建议你读这个,如果你还没有准备好:http://www.mail-archive.com/[email protected]/msg01647.html –
感谢您的链接的讨论。讨论反映了Lenik提供的观点。我在他的建议附带的评论中的原因折扣。 –