AndroidX — EncryptedSharedPreferences 中MasterKeys與
MasterKeys.AES256_GCM_SPEC deprecated的處理方法
如果你找文件大部分會是類這樣寫法
val masterKey = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
val sharedPreferences = EncryptedSharedPreferences.create(
"secret_shared_prefs",
masterKey,
this,
EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
)
但最近如果你更新了版本,並且看到IDE提示,MasterKeys.AES256_GCM_SPEC
中的MasterKey已經被遺棄不使用,但其實也不是,而是他建議你使用Builder來進行建立
MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)
就可以透過替換成Builder
MasterKey.Builder(context, MasterKey.DEFAULT_MASTER_KEY_ALIAS)
.setKeyGenParameterSpec(MasterKeys.AES256_GCM_SPECA)
.build()

這時候你會看到依然有一個MasterKeys還在使用,一樣被遺棄使用,那該怎麼辦?
替換成
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)

簡單來寫就是這樣,如果你不想繼續使用遺棄API的寫法,可以試試這樣修改

Done.
參考資訊