我想尝试使用 Android Keystore 系统来加密和解密数据,我尝试了一个适用于 API >= 23 的示例,但它不适用于低于 23 的 API。
这是一个示例代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, ANDROID_KEY_STORE);
keyGenerator.init(new KeyGenParameterSpec.Builder(alias, KeyProperties.PURPOSE_ENCRYPT |
KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_GCM)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
.build());
} else {
keyGenerator = KeyGenerator.getInstance(ANDROID_KEY_STORE);
// how to implement here
keyGenerator.init(...);
}
我需要处理 API < 23,谢谢。