AES加密-在Android上存储密码

AES加密-在Android上存储密码,android,security,encryption,Android,Security,Encryption,我不熟悉加密和安卓系统,所以问这个问题 密码管理器、密码安全等应用程序如何处理AES加密,他们都声称自己的应用程序是安全的。但我的问题是,如果密码存储在设备数据库中,而使用的密钥存在于代码中,那么根本没有办法使其完全安全。因为如果设备遭到黑客攻击,应用程序可以进行反向工程,并且可以轻松获得密钥/代码。即使代码是模糊的,钥匙仍然可以从模糊的代码中获得,对吗?模糊处理可能更难,但并非不可能 或者这些应用程序处理加密的方式是否不同 我正在制作一个类似的应用程序,所以我真的想知道什么是好的加密密钥,以及

我不熟悉加密和安卓系统,所以问这个问题

密码管理器、密码安全等应用程序如何处理AES加密,他们都声称自己的应用程序是安全的。但我的问题是,如果密码存储在设备数据库中,而使用的密钥存在于代码中,那么根本没有办法使其完全安全。因为如果设备遭到黑客攻击,应用程序可以进行反向工程,并且可以轻松获得密钥/代码。即使代码是模糊的,钥匙仍然可以从模糊的代码中获得,对吗?模糊处理可能更难,但并非不可能

或者这些应用程序处理加密的方式是否不同

我正在制作一个类似的应用程序,所以我真的想知道什么是好的加密密钥,以及存储它的最佳位置/方式。我不想从应用程序远程访问密钥


提前感谢。

密码管理器应该使用一种“主密码”来保护其密钥。通常,这是通过使用(基于密码的密钥派生函数)生成密码的加密密钥来完成的。因此,在应用程序能够解密数据之前,用户必须输入密码


如果您的应用程序包含任何形式的密钥,设计上是不安全的。

您是对的,如果密钥在机器上,就可以找到它。假装这样做的唯一方法是将密钥从机器上拿开,或者通过密码对自身进行加密,用户必须在应用程序运行之前输入密码。有点像磁盘加密。你的钥匙在U盘上,或者你知道密码。其他任何东西都不安全。也许在移动设备上,存储是用某种方式加密的(telefon卡的pin)。但这只是一个猜测。我不确定这个网站是否最适合你的问题,我想看看security.stackexchange.com姐妹网站。