【发布时间】:2018-04-22 18:37:30
【问题描述】:
我正在开发一个密码管理器应用程序,它将您的帐户及其密码存储在数据库中,并将应用程序的密码存储在共享首选项中,以便其他人无法访问您的帐户
保护数据的最佳方法是什么 假设我创建了一个方法来加密数据并创建一个方法来解密它,以便普通用户可以读取数据
如果设备被root,黑客是否可以将应用程序数据移动到具有相同应用程序的另一台设备上,以便即使被加密也可以读取数据库,因为另一台设备中的应用程序具有解密方法
有没有后门方法让黑客远程将数据传输到另一个设备并由应用程序自己解密数据
如果加密方法包含生成随机加密密钥并将其存储在密码字符串中作为下一行(密码中不允许多行),这是一种安全的方法,因为黑客破解了包含加密的完整密码字符串密钥然后使用应用程序对其进行解密
假设我创建了一个单独的加密密钥......它应该永久存储在某个地方......但是如果黑客可以访问它,他可以通过应用程序本身破解加密吗?如果是,可以将加密密钥存储在用户无法访问的地方
注意:制作与设备的 IMEI 相关的加密密钥不是解决方案,因为我打算让应用程序在设备之间同步数据,因此许多设备可能访问同一个帐户
【问题讨论】:
-
您试图以错误的方式解决此问题。从用户密码中派生一个加密密钥并用它加密数据。如果没有用户密码,并且如果您正确地进行加密,则无法访问数据。
标签: android sql encryption sharedpreferences