本文介绍了什么是"SecretKeyFactory不可用"?是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是怎么了?
for (Object obj : java.security.Security.getAlgorithms("Cipher")) {
System.out.println(obj);
}
javax.crypto.SecretKeyFactory.getInstance("AES");
这是输出(在Mac OS 10.6上为JDK 1.6):
This is the output (JDK 1.6 on Mac OS 10.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错误.请参见 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7022467
This is a verified java bug. See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7022467
不同的Java版本支持不同的算法,您也可以使用自定义提供程序等对其进行扩展.Oracle在此处提供了Java 6的列表 http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html .对于KeyFactory,这是DSA.
Different java versions support different algorithms, you can also extend it with custom providers and so on. Oracle has a list for java 6 here http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html . For KeyFactory this is DSA.
这篇关于什么是"SecretKeyFactory不可用"?是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!