如何为 cwac 安全室创建可编辑对象

How to create an editable object for cwac saferoom

请使用谷歌搜索将敏感用户数据存储在数据库中的应用程序将我指向 cwac 安全室,因为我正在为我的数据库使用空间,但面临的问题是:

  1. Cwac saferoom 需要我传入一个可编辑对象,这意味着我在 edittext 上调用相同的方法来获取输入字符串作为密码我真的不知道如何用字符串制作那个对象

  2. 我如何在设备上安全地存储密码

请使用java

Cwac saferoom required i pass in an edittable object

引用 the documentation:"The SafeHelperFactory constructor takes a either a byte[] or a char[] for the passphrase."。有一个实用方法采用 Editable 作为从用户获取密码的推荐路径。因此,只需通过构造函数创建一个 SafeHelperFactory 对象:

SafeHelperFactory factory = new SafeHelperFactory(thePassphraseFromTheUser);

i dont really know how make a that object out of a string

String 中设置密码不是个好主意。参见:

但是,对于测试和其他东西,请在您的 String 上调用 toCharArray() 以获得 char[] 以传递给 SafeHelperFactory 构造函数:

SafeHelperFactory factory = new SafeHelperFactory(stringPassphraseFromTheUser.toCharArray());

How do i safely store the password on the device also

通常情况下,您不需要。你从用户那里得到密码。

如果您的 minSdkVersion 为 23 或更高,您可以使用 androidx.security:security-crypto 类 将生成的密码短语存储在硬件加密存储中。