不使用MasterKeys.getOrCreate()的EncryptedSharedPreferences
创始人
2024-12-29 01:30:43
0

要使用EncryptedSharedPreferences而不是MasterKeys.getOrCreate(),可以按照以下步骤操作:

  1. 添加依赖项:在项目的build.gradle文件中添加以下依赖项:
implementation 'androidx.security:security-crypto:1.0.0'
  1. 创建密钥:使用SecretKeyGenerator生成一个密钥,然后将其转换为字节数组。
val secretKeyGen = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES)
secretKeyGen.init(256) // 设置密钥长度
val secretKey = secretKeyGen.generateKey()
val keyBytes = secretKey.encoded
  1. 创建EncryptedSharedPreferences:使用上一步中生成的密钥字节数组创建EncryptedSharedPreferences实例。
val masterKey = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC) // 用于加密密钥的主密钥
val encryptedSharedPreferences = EncryptedSharedPreferences.create(
    "my_encrypted_prefs",
    masterKey,
    applicationContext,
    EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
    EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
  1. 存储数据:使用创建的EncryptedSharedPreferences实例存储数据。
val editor = encryptedSharedPreferences.edit()
editor.putString("key", "value")
editor.apply()
  1. 读取数据:使用创建的EncryptedSharedPreferences实例读取数据。
val value = encryptedSharedPreferences.getString("key", "")

这样就实现了不使用MasterKeys.getOrCreate()的EncryptedSharedPreferences。请注意,密钥的生成和管理是非常重要的,需要根据具体的安全需求和使用情况进行适当的处理。

相关内容

热门资讯

透视辅助!德扑HHpoker有... 透视辅助!德扑HHpoker有挂吗,德州透视插件,切实教程(有挂详情)1、上手简单,内置详细流程视频...
透视ai!hhpoker辅助,... 透视ai!hhpoker辅助,hhpoker辅助挂下载,系统教程(有挂攻略)1、hhpoker辅助挂...
透视智能ai!德扑HHpoke... 透视智能ai!德扑HHpoker有挂吗,hhpoker辅助软件下载,可靠教程(有挂详情)运hhpok...
透视计算!hh poker插件... 透视计算!hh poker插件下载,hh poker辅助有用吗,揭秘攻略(有挂解密)1、hh pok...
透视辅助!hhpoker有后台... 透视辅助!hhpoker有后台操作吗,hhpoker德州机器人,科技教程(有挂教程)1、许多玩家不知...
透视计算!hhpoker视频巡... 透视计算!hhpoker视频巡查真的假的,hhpoker有后台操作吗,切实教程(有挂方法)小薇(透视...
透视挂透视!hhpoker脚本... 透视挂透视!hhpoker脚本下载,hhpoker脚本下载,2025新版教程(有挂详情)1、玩家可以...
透视有挂!hhpoker作弊码... 透视有挂!hhpoker作弊码,hhpoker真的假的,可靠教程(有挂解说)1、许多玩家不知道hhp...
透视线上!hhpoker是内部... 透视线上!hhpoker是内部控制吗,德州透视hhpoker,必备教程(有挂技巧)1、透视线上!hh...
透视新版!hhpoker免费透... 透视新版!hhpoker免费透视脚本,hhpoker怎么防作弊,技巧教程(有挂揭秘);1、玩家可以在...