如何为CWAC Saferoom创建可编辑对象

时间:2019-11-14 21:25:36

标签: android android-room sqlcipher commonsware-cwac

请忙于研究将敏感用户数据存储在数据库上的应用程序,因为我正在为数据库使用空间,但面临的问题却是:

  1. 需要Cwac安全室,我传递了一个edittable对象,这与我在edittext上调用以获取输入字符串的方法相同,因为密码短语我真的不知道如何用字符串做成该对象

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

请使用Java

1 个答案:

答案 0 :(得分:1)

  

需要Cwac安全室,我需要传递一个可编辑的对象

引用the documentation:“ SafeHelperFactory构造函数使用byte[]char[]作为密码短语。”对于从用户获取密码的推荐路径,有一个实用方法采用Editable。因此,只需通过构造函数创建一个SafeHelperFactory对象:

SafeHelperFactory factory = new SafeHelperFactory(thePassphraseFromTheUser);
  

我真的不知道如何用字符串制作该对象

String中输入密码不是一个好主意。参见:

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

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

我如何也将密码安全存储在设备上

通常,您不会。您从用户那里获得了密码短语。

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