繁体   English   中英

Android:定义要使用的加密:AES 128或AES 256

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM