有没有办法在Android中保存密钥,以便即使它是root用户,也无法由任何人检索密钥。不是共享首选项,而是将密钥置于Android中高度安全的位置。
基本上是保存从服务器发送的动态密钥。
答案 0 :(得分:2)
正如有人提到的,您可以使用AES / DES密钥对其进行加密。为了更加安全,您可以为其添加唯一的设备ID。例如:
String secureString = "some text";
String aesKey;
String uniqueKey = app.getUniqueDeviceID() + aesKey;
//encrypt using uniqueKey
答案 1 :(得分:1)
有没有办法在Android操作系统中保存密钥,即使它是 任何人都无法检索到密钥。
一般来说,没有。你只能通过obfuscation加倍努力。
但你永远不会有100%保证。让我们说我是我设备上的根。你在我的记忆中保存了一些东西我总能看到自己的记忆。如果我足够耐心,我可以发现你的钥匙或任何东西。
答案 2 :(得分:1)
我有一个解决方案,我做了这个解决方案来保存私人消息...如果你喜欢这个你可以尝试...我已经使用Base 64以加密形式转换消息,或者你也可以使用AES / DES算法。 ..加密形式是人类无法读取的,因此它是保存密钥的最安全的方法..当您希望密钥解密时。
答案 3 :(得分:0)
我不这么认为。 root用户可以访问系统可以访问的任何位置,因此您可以尝试隐藏该密钥,但我认为您无法控制它的访问权限。