Wie kann ich Java MD5 MessageDigest verwenden, ohne NoSuchAlgorithmException abzufangen?

8

Wenn ich in Java eine MD5-Summe berechnen möchte, muss ich auf mögliche Ausnahmen achten:

%Vor%

Gemäß der JVM-Spezifikation muss MD5 jedoch unterstützt werden, daher sollte die Ausnahme niemals ausgelöst werden. Gibt es ein anderes Zugriffsmuster, das es mir erlaubt, eleganteren Code zu schreiben?

    
MikeD 03.04.2014, 01:52
quelle

2 Antworten

3

Sie könnten die Java-Implementierung vergessen und Guava verwenden: Ссылка . In Java kann eine geprüfte Ausnahme nicht vollständig ignoriert werden. Entweder fangen Sie es oder schmücken Sie Ihre Methode mit "throws Exception", oder erhalten Sie eine Bibliothek, die nicht so pedantisch ist. Für mich, die Guava-Variante unten liest, erledigt den Job mit der geringsten Menge an Client-Überraschung.

%Vor%

Beim Surfen durch den Guava-Code ist es interessant, wie sie das machen. Der Guava-Bibliotheksautor ging den Pfad "Its my problem, yuk ...", fing die geprüfte Ausnahme ab und verwandelte sie in eine RuntimeException. Clever und effektiv.

%Vor%

Habe ich erwähnt, dass ich Guava liebe? Ich liebe Guava.

    
Bob Kuhar 03.04.2014, 02:22
quelle
2

Anstelle von MessageDigest können Sie common.apache verwenden  %Code%. Dies ist einfach zu verwenden und es ist nicht nötig, eine so lange Prozedur zu verwenden, um Daten wie DigestUtils zu verarbeiten.

%Vor%

Gehen Sie durch diese Klasse und Folgen Sie dieser Dokumentation

    
Harshal Patil 23.04.2014 13:36
quelle