我为Android创建了一个密码管理器(请参阅its website),其功能受到许多用户的喜爱:“QuickUnlock”。密码数据库通常使用强密码和长密码进行加密,但在解锁数据库一次时,应用程序将尽可能长时间保持活动状态(通过持续通知的服务)。因此,如果用户想要访问下一个密码,只输入密码的一小部分就足够了。这是可能的,因为数据库(包括主密码仍在内存中)。 (如果手机被盗,“攻击者”只有一次猜测短密码。之后,数据库完全被锁定。)
这有两个主要缺点:
现在我正在寻找一种让UX更好的方法。我不认为将主密码甚至部分密码存储在SD卡或内部永久存储器中是一种选择。它应该只保留在RAM中。
有没有办法在内存中保留(几个字节)数据,但仍然允许应用程序被杀死? 我在考虑某种可以在重新创建时传递给应用程序的Intent?怎么可以这样做?
感谢任何提示!