gpt4 book ai didi

java - 使用 MD5 时出现 NoSuchAlgorithm 异常

转载 作者:行者123 更新时间:2023-12-03 21:46:52 25 4
gpt4 key购买 nike

import java.security.*;

MessageDigest md = MessageDigest.getInstance("MD5");

失败 NoSuchAlgorithm异常(exception)。

MessageDigest 文档]( http://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html ) 说:

Every implementation of the Java platform is required to support the following standard MessageDigest algorithms: MD5 SHA-1 SHA-256 These algorithms are described in the MessageDigest section of the Java Cryptography Architecture Standard Algorithm Name Documentation. Consult the release documentation for your implementation to see if any other algorithms are supported.



那么它为什么会抛出异常呢?

幸运的是
import org.apache.commons.codec.digest.DigestUtils;

System.out.println( "md5 = "+DigestUtils.md5Hex( string ) );

工作完美,而且它很优雅,但看起来仍然是一个非常基本的失败。
我错过了什么?

最佳答案

我刚刚检查了 DigestUtils 类,NoSuchAlgorithmException 有一个 try-catch 句柄。

您可以签到here .

您缺少 throws 声明或 try-catch 块来处理异常。错误应该是编译错误。 If it's not a compilation error check the "MD5" string typo.
对于编译错误,请尝试使用 try-catch 块包围您的代码。

try {
MessageDigest md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

或者添加您的方法抛出声明。
public static void main(String[] args) throws NoSuchAlgorithmException {

关于java - 使用 MD5 时出现 NoSuchAlgorithm 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611108/

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