Ciao a tutti, ho necessità di creare una funzione che data una stringa mi restituisca un'altra stringa contenente l'md5 dell'input.
Google è mio amico e ho quindi trovato questa:
Codice:
public String md5converter(String input) {
MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(input.getBytes());
byte[] digest = md.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
input = Integer.toHexString(0xFF & digest[i]);
if (input.length() < 2) {
input = "0" + input;
}
hexString.append(input);
}
return (hexString.toString());
}
Purtroppo però ricevo l'errore
Quote:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 37 in the jsp file: /funz.jsp
Unhandled exception type NoSuchAlgorithmException
34:
35:
36:
37: MessageDigest md = MessageDigest.getInstance("MD5");
38: md.reset();
39: md.update(input.getBytes());
40:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
|
Ora, l'eccezione non dovrebbe neanche lanciarla, l'algoritmo MD5 deve esserci... giusto per provare ho tentato con altri algoritmi (SHA ecc), stesso risultato.
Chiaramente ho importato java.security.* ... quale potrebbe essere il problema?