我知道这个问题在StackOverflow中非常流行,AES 256如何在Android中实现,但主要问题是没有任何解决方案给出AES 256的确切加密和解密。所有代码都通过Key长度128和256不正确。AES 256加密实现android
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
sr.setSeed(seed);
kgen.init(256, sr); // 192 and 256 bits may not be available
SecretKey skey = kgen.generateKey();
byte[] raw = skey.getEncoded();
return raw;
但我需要不同于此,其中AES 256实现不是256键的长度。请给我建议正确的解决方案。
在此先感谢。
我不知道我理解你的问题。您的问题是:“如果我的密钥材料不是128位或256位,我如何制作AES-128或AES-256密钥?” – 2012-02-06 10:29:05
是的大卫.......这是个问题。 – 2012-02-06 10:43:16
你的密钥材料有多少熵?你为什么要使用AES128以上的AES256? – CodesInChaos 2012-02-06 11:17:59