写一个方法来获取 public static String[] getCryptoImpls(String serviceType) { Set result = new HashSet();
// All all providers Provider[] providers = Security.getProviders(); for (int i=0; i<providers.length; i++) { // Get services provided by each provider Set keys = providers[i].keySet(); for (Iterator it=keys.iterator(); it.hasNext(); ) { String key = (String)it.next(); key = key.split(" ")[0];
if (key.startsWith(serviceType+".")) { result.add(key.substring(serviceType.length()+1)); } else if (key.startsWith("Alg.Alias."+serviceType+".")) { // This is an alias result.add(key.substring(serviceType.length()+11)); } } } return (String[])result.toArray(new String[result.size()]); }调用方法如下: String[] names = getCryptoImpls("MessageDigest");然后就会返回支持的加密算法 如: MD5 SHA SHA1 SHA-1注:本例子程序来源于java开发年鉴。楼主快给分,谢谢
Set result = new HashSet();
// All all providers
Provider[] providers = Security.getProviders();
for (int i=0; i<providers.length; i++) {
// Get services provided by each provider
Set keys = providers[i].keySet();
for (Iterator it=keys.iterator(); it.hasNext(); ) {
String key = (String)it.next();
key = key.split(" ")[0];
if (key.startsWith(serviceType+".")) {
result.add(key.substring(serviceType.length()+1));
} else if (key.startsWith("Alg.Alias."+serviceType+".")) {
// This is an alias
result.add(key.substring(serviceType.length()+11));
}
}
}
return (String[])result.toArray(new String[result.size()]);
}调用方法如下:
String[] names = getCryptoImpls("MessageDigest");然后就会返回支持的加密算法
如:
MD5
SHA
SHA1
SHA-1注:本例子程序来源于java开发年鉴。楼主快给分,谢谢