Cipher cipher = Cipher.getInstance("AES256/CTR/NoPadding")
以上代码抛出以下异常:
堆栈跟踪:java.security.NoSuchAlgorithmException: AES256 / CTR / NoPadding at javax.crypto.Cipher.getCipher(Cipher.java:296)at javax.crypto.Cipher.getInstance(Cipher.java:174)
Android是否支持“AES256 / CTR / NoPadding”?该设备是否依赖?我正在测试的Android设备有以下提供商:
答案 0 :(得分:5)
在 Cipher.java 中,您可以看到可用的转换。不幸的是,没有“AES256 / CTR / NoPadding”(这就是为什么你会看到这个例外),但当然有“AES / CTR / NoPadding”,你应该使用它。
AES密钥大小(在Cipher中使用)完全取决于Android中的密钥,因此您应该生成并使用适当长度的密钥。
在Api等级26+中,您可以直接使用“AES_256 ...”,但仅适用于CBC和ECB模式(https://developer.android.com/reference/javax/crypto/Cipher.html)