android - 是否可以使用 Android Jetpack 创建具有不同参数的多个加密密钥?
问题描述
我决定使用 Android Jetpack 来提供可靠的加密操作。关于这一点,我有两个案例要介绍
- 可以使用生成的密钥加密的一些常规简单数据,无需额外保护
- 需要用生物识别技术额外保护的秘密
我将 1. 存储在 EncryptedPrefs 和 2. 在 EncryptedFile
目前,当我使用MasterKey.Builder
和提供KeyGenParameterSpec
. 对于 2. 我另外添加
setUserAuthenticationRequired(true)
setUserAuthenticationValidityDurationSeconds(30)
首先,我为常规文件构建密钥,然后为秘密构建密钥。
不幸的是,整个图书馆似乎只能使用一个 MasterKey。因此,即使在setUserAuthenticationValidityDurationSeconds
首次创建密钥后调用它也不会改变任何内容。另一方面,当我首先为秘密创建密钥时,它工作正常。
当我查看代码时,似乎每个库都有一个主密钥——即使我在构建过程中尝试将别名更改为不同的,我也会从库中得到一个异常。最初我的想法是使用别名为每个文件创建一个密钥,但这似乎是不可能的。
是否可以使用 Jetpack 实现我的场景?
解决方案
推荐阅读
- reactjs - 如何在 React DraftJS 编辑器中存储 textAlignment 值?
- angular - 在 Angular 10 中使用羽毛笔编辑器自定义字体大小
- python - Django 动态设置:从管理页面访问 DEBUG
- c++ - free():使用 scanf 时指针无效
- javascript - 我可以让 React 在开发中以不同的方式编译对象扩展运算符吗?
- python - 变分自编码器的潜在维度分析:为什么使用 z_mean 而不是 z?
- python-3.x - 如何将colab中的音频文件转换为文本?
- php - 检查是否可以使用 laravel 识别路线
- gcc - gcc 10.3.1.1.fc32 构建失败并显示“gcc:致命错误:'-fuse-linker-plugin',但未找到 liblto_plugin.so”
- javascript - 即使使用 preventDefault 也检测 onmouseup/onmousemove