【问题标题】:How to create an editable object for cwac saferoom如何为 cwac 安全室创建可编辑对象
【发布时间】:2019-11-14 21:25:36
【问题描述】:

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

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

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

请使用java

【问题讨论】:

    标签: android android-room sqlcipher commonsware-cwac


    【解决方案1】:

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

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

    SafeHelperFactory factory = new SafeHelperFactory(thePassphraseFromTheUser);
    

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

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

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

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

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

    一般来说,你不会。您从用户那里获得密码。

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

    【讨论】:

    • 非常感谢,但我在不离线保存密码方面遇到的问题是,我在设备上本地验证了我的用户,而在第一次登录后需要互联网连接的情况下授予他们访问权限我们在非洲的互联网连接很差,或者我可以相信 proguard。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    相关资源
    最近更新 更多