列举系统中可用的加密算法,列举可用加密算法,package com.
分享于 点击 6258 次 点评:180
列举系统中可用的加密算法,列举可用加密算法,package com.
package com.javacodegeeks.snippets.core;import java.security.Provider;import java.security.Security;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class ListAvailableCryptographicServices { public static void main(String[] args) { Set<String> serviceTypes = new TreeSet<String>(); // get an array containing all the installed providers Provider[] providers = Security.getProviders(); for (int i=0; i<providers.length; i++) { // get a view of the property keys contained in this provider Set<Object> keys = providers[i].keySet(); for (Iterator<Object> it=keys.iterator(); it.hasNext();) { String key = it.next().toString(); key = key.split(" ")[0]; if (key.startsWith("Alg.Alias.")) { // strip the alias key = key.substring(10); } int index = key.indexOf('.'); serviceTypes.add(key.substring(0, index)); } } for (Iterator<String> it=serviceTypes.iterator(); it.hasNext();) { System.out.println(it.next()); } }}
输出:
AlgorithmParameterGeneratorAlgorithmParametersCertPathBuilderCertPathValidatorCertStoreCertificateFactoryCipherConfigurationGssApiMechanismKeyAgreementKeyFactoryKeyGeneratorKeyInfoFactoryKeyManagerFactoryKeyPairGeneratorKeyStoreMacMessageDigestPolicyProviderSSLContextSaslClientFactorySaslServerFactorySecretKeyFactorySecureRandomSignatureTerminalFactoryTransformServiceTrustManagerFactoryXMLSignatureFactory
用户点评