作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Jacksum API generate a Whirlpool hash ,但我收到了 NoSuchAlgorithmException:
import java.security.NoSuchAlgorithmException;
import jonelo.jacksum.JacksumAPI;
import jonelo.jacksum.algorithm.AbstractChecksum;
public static String genHash(String inText) {
AbstractChecksum checksum = null;
checksum = JacksumAPI.getChecksumInstance("whirlpool");
checksum.update(inText.getBytes());
return checksum.getFormattedValue();
}
我尝试了其他流行的算法(sha256、md5),但它们显然“不是这样的”。
./libsdpg.java:27: error: unreported exception NoSuchAlgorithmException; must be caught or declared to be thrown
checksum = JacksumAPI.getChecksumInstance("whirlpool");
^
1 error
编辑:我添加了 try-catch,现在它实际上收到了错误。
最佳答案
您实际上并没有“得到”异常。编译器告诉您未能正确处理已检查的异常。
JacksumAPI#getChecksumInstance(java.lang.String)
方法抛出一个名为 NoSuchAlgorithmException
的已检查异常。受检查的异常必须显式处理(使用 try-catch),或者封闭方法必须通过将其包含在其签名中来声明它抛出该异常。所以你的选择是:
try {
...
checksum = JacksumAPI.getChecksumInstance("whirlpool");
...
} catch(NoSuchAlgorithmException e) {
//handle the exception
}
或将您的方法签名更改为:
public static String genHash(String inText) throws NoSuchAlgorithmException {
...
}
请记住,使用第二个选项您只是将处理提升到了更高的级别(即调用 genHash
的位置);您本质上必须在某个时候处理它。
关于java - Jacksum NoSuchAlgorithmException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20381899/
我正在尝试使用 Jacksum API generate a Whirlpool hash ,但我收到了 NoSuchAlgorithmException: import java.security.
我是一名优秀的程序员,十分优秀!