java - AES-256 可以在 API 级别 26+ 的 Android 设备上工作吗?

标签 java android encryption cryptography aes

因此,我尝试对我的 Android 应用程序实现 AES-256 加密/解密。但是,我不想包含额外的 jar 来启用 AES-256,因为存在导出管制政策。

我找到了this在官方文档中,似乎API level 26+支持AES-256AES-128,有没有办法在较旧的 API 级别?

最佳答案

Android 多年来一直支持 AES 的所有版本。您引用的策略特定于普通 JVM,它们在 Android 上不是必需的。像这样构造您的密码对象以使用 AES-256:

byte[] key = ... // Your key material, exactly 32 bytes in length.
byte[] iv = ... // A randomly generated IV, exactly 16 bytes in length.
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, new SecretKey(key, "AES"), new IvParameterSpec(iv));

关于java - AES-256 可以在 API 级别 26+ 的 Android 设备上工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47708951/

相关文章:

java - Java中如何实现图片跳转

java - 随机洗牌类(class)成员的方法

android - 尝试将 URL 从 webview 传递到浏览器

java - 注意 : com. google.common.cache.Striped64 动态访问声明的字段 'base'

php - 如何复制 openssl_encrypt?

c++ - 将加密数据保存在内存中

asp.net viewstate加密

java - 向文件写入/读取一系列不同的序列化对象

Java正则表达式: why numbers [0-9],逗号等不是unicode吗?

Java SpringMVC访问MySQL数据库的方法