gpt4 book ai didi

android - 获取 MessageDigest 可以使用的所有算法?

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:25 26 4
gpt4 key购买 nike

MessageDigest 接受一个字符串,表示您要散列时要使用的算法。 I've used some of the code here在我的 Android 设备上积累相当大的 220 个“算法”列表。我在 MessageDigest 中使用它们作为算法对所有这些进行了迭代,其中很少有实际生成哈希。

我如何在运行时确定哪些哈希 MessageDigest 将产生输出而无需尝试每个哈希?

最佳答案

列出Services每个提供者的,然后调用 getType() 方法。如果是MessageDigest,那么这是一个哈希算法。像这样的东西:

Provider[] providers = Security.getProviders();
for (Provider p : providers) {
String providerStr = String.format("%s/%s/%f\n", p.getName(),
p.getInfo(), p.getVersion());
Set<Service> services = p.getServices();
for (Service s : services) {
if ("MessageDigest".equals(s.getType())) {
System.out.printf("\t%s/%s/%s", s.getType(),
s.getAlgorithm(), s.getClassName());
}
}
}

关于android - 获取 MessageDigest 可以使用的所有算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com