자바 : 어떤 이유가 MessageDigest.getInstance("MD5")
이면 null
을 반환할까요? 이것은 최근까지도 잘 작동했습니다.자바 : MessageDigest.getInstance ("MD5") null을 반환
1
A
답변
2
이 난 질문에 대해
MessageDigest.getInstance ("MD5") 널 (null)
당신이 의미 MessageDigest
클래스가 java.security.MessageDigest
경우 해당 메서드에서 하지는 null를 돌려 의심 기존 알고리즘을 매개 변수로 지정하지 않은 경우 jdk1.7
public static MessageDigest getInstance(String algorithm)
throws NoSuchAlgorithmException {
try {
Object[] objs = Security.getImpl(algorithm, "MessageDigest",
(String)null);
if (objs[0] instanceof MessageDigest) {
MessageDigest md = (MessageDigest)objs[0];
md.provider = (Provider)objs[1];
return md;
} else {
MessageDigest delegate =
new Delegate((MessageDigestSpi)objs[0], algorithm);
delegate.provider = (Provider)objs[1];
return delegate;
}
} catch(NoSuchProviderException e) {
throw new NoSuchAlgorithmException(algorithm + " not found");
}
}
에서
코드는 그 다음 NPE이 클래스에서 일어난, 널, 다음, MD 또는 대리인이 null이어야합니다 반환합니다.
코드를 단계별로 확인하고 디버그하여 어떤 객체가 null인지 확인하십시오.
getInstance 메서드를 호출하는 방법에 대한 코드 샘플을 추가 할 수 있습니까? 또한 환경 및 Java 버전 데이터를 제공합니다. 자바 설치에 대해 최근에 변경된 사항이 있습니까? –
우리가 볼 수있는 코드가 없으면 우리는 도울 수 없습니다. 코드를 게시 할 수 있습니까? –
"* 이것은 최근까지는 잘 작동했습니다. *".. 그리고 최근에 무슨 일이 있었습니까? – mre