方法SecureRandom.getInstanceStrong()
声明可以抛出NoSuchAlgorithmException
,但是文档说:
Java平台的每个实现都需要支持至少一个强大的SecureRandom实现。
在什么情况下可以抛出此异常?仅当属性securerandom.strongAlgorithms
是用户定义的并且没有列出算法时,才会发生这种情况吗?
最佳答案
如果securerandom.strongAlgorithms
配置错误,则似乎确实会引发此异常。未经检查的异常可能是更好的选择。
http://hg.openjdk.java.net/jdk/jdk/file/ac56154f0b9e/src/java.base/share/classes/java/security/SecureRandom.java
if (property == null || property.isEmpty()) {
throw new NoSuchAlgorithmException(
"Null/empty securerandom.strongAlgorithms Security Property");
}
...
throw new NoSuchAlgorithmException(
"No strong SecureRandom impls available: " + property);
关于java - 什么时候SecureRandom.getInstanceStrong()抛出NoSuchAlgorithmException?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55675003/