如何存储SQLCipher中用于android的密钥

use*_*865 8 sqlite android sqlcipher

我正在使用SQLCipher for Android.我已经完成了加载lib所需的所有必要的东西,如http://sqlcipher.net/sqlcipher-for-android/中所述

我发现你设置密码即密钥:

    SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, "test123", null);
Run Code Online (Sandbox Code Playgroud)

那么你的密码如何从黑客那里获得安全保障?因为它可以从java文件中访问.?

有没有正确的方法可以存储密码?

谢谢,Nibs

Com*_*are 4

那么您的密码如何防止黑客窃取呢?

它不是。不过,对密码进行硬编码可以实现简单的演示。

有没有正确的方法可以存储密码?

用户应通过 UI 提供用户数据库的密码。然后,用户将密码存储在用户的头脑中,或者您可以将用户头脑中的内容与其他内容相结合,以进行轻量级双因素身份验证(例如,配对的蓝牙可穿戴设备的 MAC 地址)。

  • @Nibs:将密码保存在Java文件中意味着任何想要的人都可以获得密码。您所描述的是在攻击者*不*知道密码时防止暴力攻击。 (4认同)
  • @Nibs:既然任何想要的人都可以获取该存储的密钥,那么加密的意义何在?如果他们能够访问数据库,他们就能获得密钥。 (2认同)