デフォルトの Sun JDK 環境で使用できる暗号化アルゴリズムは 輸入管理制限 によってキー長に制限が設けられています。
http://lab.moyo.biz/recipes/java/security/index.xsp
つうので手持ちの熱くなるMacBookAir初代で試してみた。
try-catchないのでコピペじゃうごかん(´・ω・`)
自分でかかないとだめ。
import java.security.Security; import javax.crypto.Cipher; import java.util.Set; class CipherKeyLength { public static void main(String args[]) { Set < String > algorithms = Security.getAlgorithms("Cipher"); for (String algorithm:algorithms) { try { int max = Cipher.getMaxAllowedKeyLength(algorithm); System.out.printf("%-22s: %dbit%n", algorithm, max); } catch(Exception e) { e.printStackTrace(); } } } }
[air:~] youichi% uname -a Darwin air.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 [air:~] youichi% java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode) [air:~] youichi% java CipherKeyLength BLOWFISH : 2147483647bit ARCFOUR : 2147483647bit PBEWITHMD5ANDDES : 2147483647bit RC2 : 2147483647bit RSA : 2147483647bit PBEWITHMD5ANDTRIPLEDES: 2147483647bit PBEWITHSHA1ANDDESEDE : 2147483647bit DESEDE : 2147483647bit AESWRAP : 2147483647bit AES : 2147483647bit DES : 2147483647bit DESEDEWRAP : 2147483647bit PBEWITHSHA1ANDRC2_40 : 2147483647bit