我想从 Android 上的用户那里获取密码字符串。
我不希望这个字符串在从用户键入它到它以 char 或 byte 数组到达我的代码的过程中的任何时候都存储在 Java String 中。
原因是 Sun 禁止将 Java 字符串用于敏感数据。 “String 类型的对象是不可变的,即没有定义允许您在使用后更改(覆盖)或清零 String 的内容的方法。此功能使 String 对象不适合存储安全敏感信息,例如用户密码。您应该始终将安全敏感信息收集并存储在 char 数组中。” http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx
所以我不能使用EditText,因为它在内部使用字符串(即使它返回一个可以想象由char []或Char []支持的可编辑?)。
从用户那里接受 char 数组的最简单方法是什么?我猜是我在其上监听关键事件的 Canvas?