动态获取 MessageDigest 所支持的算法名称
java.security.Security.getAlgorithms("MessageDigest"); 可获得算法名称的Set<String>集合 , 参数为"MessageDigest",不区分大小写
java.util.Set<String> messageDigest_AlgorithmNames_Set = java.security.Security.getAlgorithms("MessageDigest"); //不区分大小写
java.util.Set<String> messageDigest_AlgorithmNames_Set = java.security.Security.getAlgorithms("messagedigest"); //不区分大小写
示例
public class Try动态获取MessageDigest支持的算法名称列表 {
static Integer numA = 1;
static public void main(String...arguments)throws Exception{
java.util.Set<String> messageDigest_AlgorithmNames_Set = java.security.Security.getAlgorithms("messagedigest");
// java.util.Set<String> messageDigest_AlgorithmNames_Set = java.security.Security.getAlgorithms("MessageDigest");
System.out.println("MessageDigest的算法种类个数为: "+messageDigest_AlgorithmNames_Set.size() + " , 分别为👇");
messageDigest_AlgorithmNames_Set.forEach(算法名称->{
System.out.println(numA+++".\t\t"+算法名称);
});
}
}
控制台输出👇 (JDK17)
MessageDigest的算法种类个数为: 13 , 分别为👇
1. SHA3-512
2. SHA-1
3. SHA-384
4. SHA3-384
5. SHA-224
6. SHA-512/256
7. SHA-256
8. MD2
9. SHA-512/224
10. SHA3-256
11. SHA-512
12. MD5
13. SHA3-224