问题标签 [encrypted-shared-preference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android 应用程序中检查它正在使用加密共享首选项并以编程方式安全地迁移到它
我正在一个项目中工作,我必须迁移到 Encrypted Shared Preference 更多地参考此链接以获取 Encrypted Shared Preference。我已经成功实现了首选项,但我的问题是如果共享首选项文件已经存在,它将不会加密存储在首选项中的现有数据。只有将要存储的新值才会被加密。
那么如何正确迁移到 Encrypted shared pref 并检查 Pref 是否已经加密。任何人都知道任何最佳做法。
我想出了一种方法,我可以检查一个密钥是否存在于 pref 中 __androidx_security_crypto_encrypted_prefs_key_keyset__
。如果它存在意味着 pref 是加密的 pref 否则我可以迁移我想要迁移共享 pref 的方式(如果它尚未加密)。
java - 无法从其他活动访问 EncryptedSharedPreferences
第一个活动
第二次活动
在同一个活动中,getSharedPreferences() 按预期工作。当尝试使用此代码访问另一个活动中的首选项时,它始终返回默认值。好像解密有问题。
security - 受保护的 Android SharedPreferences 错误:“原因:java.lang.RuntimeException:字段 keySize_ for ...”
在一个 Android Kotlin 项目中,我使用androidx.security库基于此链接实现了 EncryptedSharedPreference 功能,它在调试模式下运行良好。但在发布模式下,我不断收到此错误
请分享您对如何解决此错误的想法。
java - 如何实现加密的共享偏好
如何使用https://developer.android.google.cn/reference/androidx/security/crypto/EncryptedSharedPreferences在我的 android java 应用程序中实现加密共享首选项?我不知道如何实现它,有人可以帮忙吗?
android - EncryptedSharedPreferences isUserAuthenticationRequired 无法正常工作
我正在使用 EncryptedSharedPreferences 来存储加密数据。
实际上,我错过了 BiometricPrompt 部分。我认为调用setUserAuthenticationRequired(true)
会自动处理身份验证用户。但我们必须自己显示 BiometricPrompt。isUserAuthenticationRequired
only 确保只有在用户被授权时才会激活密钥。
但有个问题。它只会在创建EncryptedSharedPreferences
. 之后,我们可以根据需要执行读写操作。它没有考虑到setUserAuthenticationValidityDurationSeconds(1)
.
android - Android API 21 创建自定义主密钥
我正在尝试创建一个加密SharedPreferences
实现,但Android 网站中给出的示例适用于 API 23 及更高版本。具体来说,问题是使用此代码创建主密钥是MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
.
在当前版本的 androidx 安全性 ('androidx.security:security-crypto:1.1.0-alpha01') 上,您可以在技术上创建实现,EncryptedSharedPreferences
但上述getOrCreate()
功能状态仅适用于 API 23 及更高版本。因此,如果我理解正确,我唯一缺少的是能够执行以下代码行:
是创建我自己的自定义 MasterKey。API 21 中有没有办法做到这一点?
这是我到目前为止的编码方式:
kotlin - 如何在 Android 中弃用 MasterKeys 后创建 masterKey
我正在使用以下代码在我的应用程序中存储一些加密的信息。
由于 Android 中不推荐使用 MasterKeys 类,我应该使用 MasterKey 类,但我不知道什么是正确的方法来定义相同的掌握。
有人可以显示与可用的 MasterKey 和 MasterKey.Builder 类的完全匹配吗?
下面的解决方案是这样工作的:
android - AndroidX Security EncryptedSharedPreferences v1.1.0 /w API 21 问题
我决定使用 AndroidX 安全库中的新 EncryptedSharedPreferences。由于该应用程序支持 API 21 及更高版本,我决定尝试这个新的 v1.1.0-alpha02 版本,因为它支持 API 21+
所以,我成功地实现了 API 23+,但是对于不支持 Android KeyStore 的旧版本,我无法做到正确,并且没有确切的说明应该如何创建主密钥以使其以某种方式工作.
初始化 SharedPrefs 的代码:
使用此功能创建主密钥
我在某个地方找到了这个解决方案,但它没有经过验证(没有确认它确实有效),但它似乎应该有效。
将此代码块用于 API 21 和 22 时,在创建 EncryptedSharedPreferences 时出现错误,并显示:Method throwed 'com.google.crypto.tink.shaded.protobuf.InvalidProtocolBufferException' 异常。协议消息包含无效标签(零)。
有人找到了这个实现的解决方案吗,或者你知道为什么会这样吗?我认为这会对很多人有所帮助,因为没有确切的解释这个主密钥应该包含什么。
提前致谢!
android - 在生产代码中使用 android library security-crypto 的候选版本
对于其中一个 Android 项目,需要在 Shared Preferences 中存储一些值。为此,我打算使用EncryptedSharedPreferences
但是当我检查时,这个功能所依赖的库androidx.security:security-crypto仍然没有正式发布。仅发布候选版本 (1.0.0-rc03) 可用
我的问题是 - 在生产代码中使用它可以吗?谷歌可能会贬低这个图书馆的可能性有多大?
android - 检查值是否存在使用 EncryptedSharedPreferences android
我在登录时使用 EncryptedSharedPreferences 存储值...我想更改家庭活动导航抽屉中的文本
所以当用户登录时它会显示logout
否则它将显示login
导航抽屉
登录活动:--------
登录时我这样做
签入 Homeactivity:---------
此代码的良好输出始终具有标题为 loginn,这意味着它将值检测为 null 需要 EncryptedSharedPreferences 的帮助谢谢