欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

列举使用各种加密解密算法,列举加密解密算法,package byrx

来源: javaer 分享于  点击 3165 次 点评:78

列举使用各种加密解密算法,列举加密解密算法,package byrx


package byrx.net.snippets.core;import java.security.Provider;import java.security.Security;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class ListAvailableEncryptionDecryptionAlgorithms {    public static void main(String[] args) {        // 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('.');                String serviceType = key.substring(0, index);                Set<String> algorithms = getAlgorithms(serviceType);                System.out.println(serviceType);                for (Iterator<String> iter=algorithms.iterator(); iter.hasNext();) {                    System.out.println("\t" + iter.next());                }            }        }    }    private static Set<String> getAlgorithms(String serviceType) {        Set<String> algorithms = 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(serviceType+".")) {                    algorithms.add(key.substring(serviceType.length()+1));                }                else if (key.startsWith("Alg.Alias."+serviceType+".")) {                    algorithms.add(key.substring(serviceType.length()+11));                }            }        }        return algorithms;    }}
相关栏目:

用户点评