【发布时间】:2012-02-06 18:47:15
【问题描述】:
我知道这个问题在 StackOverflow 中非常受欢迎,以至于 AES 256 如何在 Android 中实现,但主要问题是没有任何解决方案给出 AES 256 的确切加密和解密。所有代码都通过 128 和 256 的密钥长度解释不正确。
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 密钥?”
-
是的,大卫.......这是个问题。
-
你的密钥材料有多少熵?为什么要使用 AES256 而不是 AES128?
标签: android encryption