[英]Android: Define which encryption to use: AES 128 or AES 256
在我正在使用的android项目中
import javax.crypto.Cipher;
ecipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
我想问:是使用AES128还是AES256,由所使用的密钥定义? 例如key="012345678901234567890123456789012";
结果将使用AES256?
谢谢
托马斯
是,是通过使用的密钥来定义是否使用AES128或AES256。
但是,决定它的不是String
长度,而是byte[]
长度。 在代码的某些时候,您应该将String
转换为byte[]
。 得到的byte[]
的大小就是您的密钥大小。 不知道如何转换"012345678901234567890123456789012"
,就无法知道您的加密强度。
或者,您可以使用KeyGenerator
:
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(128); // or 256
// Generate the secret key specs
SecretKey secretKey = keyGen.generateKey();
byte[] byteArray = secretKey.getEncoded();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.