android - Android中的AES加密解密算法是否使用NoPadding?
问题描述
我的代码面临这个问题。
public byte[] encryptString(String unencryptedData, String encryptionKey) throws Exception {
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding", "SunJCE");
SecretKeySpec key = new SecretKeySpec(encryptionKey.getBytes("UTF-8"), "AES"); //256-AES, 512-AES
cipher.init(Cipher.ENCRYPT_MODE, key,new IvParameterSpec(encryptionKey.getBytes("UTF-8")));
return cipher.doFinal(unencryptedData.getBytes("UTF-8"));
}
解决方案
您可以使用此代码查看可用的提供程序和算法组合:
for (Provider p : Security.getProviders()) {
Log.e(TAG, "Service Name: " + p.getName()));
for (Provider.Service s : p.getServices()) {
Log.e(TAG, " Algorithm: " + s.getAlgorithm()));
}
}
推荐阅读
- python - Adding column of random floats to data frame, but with equal values for equal data frame entries
- c++ - 编译库以便 GDB 自动查找源
- c# - 如何解决“用户'Username.sql'登录失败。”?
- javascript - Appending elements to a parent element inside arr.each loop
- blender - Blender 2.8 beta - 如何斜切矩形立方体的一个边缘?
- python - Spark 从第二行读取,如 Pandas header=1
- python - 将对象 dtype 列转换为 float 或 int
- python - 在 Python 中搜索和排序文件
- c# - Blazor route with encrypted parameters
- r - 用一个共同的图例绘制四个图