这有什么问题吗?
for (Object obj : java.security.Security.getAlgorithms("Cipher")) {
System.out.println(obj);
}
javax.crypto.SecretKeyFactory.getInstance("AES");
这是输出(Mac OS 10.6 上的 JDK 1.6):
BLOWFISH
ARCFOUR
PBEWITHMD5ANDDES
RC2
RSA
PBEWITHMD5ANDTRIPLEDES
PBEWITHSHA1ANDDESEDE
DESEDE
AESWRAP
AES
DES
DESEDEWRAP
PBEWITHSHA1ANDRC2_40
java.security.NoSuchAlgorithmException: AES SecretKeyFactory not available
at javax.crypto.SecretKeyFactory.<init>(DashoA13*..)
at javax.crypto.SecretKeyFactory.getInstance(DashoA13*..)
...
这是一个已验证的 java bug。看https://bugs.openjdk.java.net/browse/JDK-7022467
编辑:不同的java版本支持不同的算法,您还可以使用自定义提供程序等来扩展它。 Oracle 在这里有一个 java 6 的列表http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html。对于 KeyFactory 来说,这是 DSA。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)