3

我想尝试使用 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,谢谢。

4

0 回答 0