我知道這個問題在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