error encriptación de claves MD5
Publicado por Sergio (2 intervenciones) el 16/05/2007 19:25:39
Hola, estoy utilizando el algoritmo MD5 para encriptar un password, el código está
completo, no tiene errores y compila, pero a la hora de utilizarlo con
tomcat da el siguiente error:
Ha tenido lugar un error en la línea: 52 en el archivo jsp: /insertarUsuario.jsp
MD5 cannot be resolved
51: login=request.getParameter("sLogin");
52: password=MD5.hash(request.getParameter("sPassword1"));
Tanto password como sPassword1 son Strings, como debe ser.
La clase MD5.java que utilizo es la siguiente:
package ayudas;
import java.security.*;
public class MD5 extends Object {
/* Función privada para convertir el resultado de encriptar a un string hexadecimal de 8 dígitos */
private static String asHex(byte hash[]){
StringBuffer buf=new StringBuffer(hash.length*2);
int i;
for(i=0;i<hash.length;i++){
if (((int)hash[i]&0xff)<0x10)
buf.append("0");
buf.append(Long.toString((int)hash[i]& 0xff,16));
}
return buf.toString().toUpperCase();
}
/*Toma un string y devuelve su código encriptado en un string de dígitos hexadecimales */
public static String hash(String arg){
return hash(arg.getBytes());
}
/* Toma un array de bytes y devuelve su código enciptado como un string de dígitos hexadecimales */
public static String hash(byte barray[]){
String restring="";
try{
MessageDigest md=MessageDigest.getInstance("encriptar");
md.update(barray);
byte[] result=md.digest();
restring=asHex(result);
}catch(NoSuchAlgorithmException nsa){}
return restring;
}
}
y donde utilizamos MD5 se importa:
<%@ page import="java.sql.*" %>
<%@ page import="ayudas.MD5"%>
Alguien sabe dónde puede estar el error???
Muchísimas gracias.
completo, no tiene errores y compila, pero a la hora de utilizarlo con
tomcat da el siguiente error:
Ha tenido lugar un error en la línea: 52 en el archivo jsp: /insertarUsuario.jsp
MD5 cannot be resolved
51: login=request.getParameter("sLogin");
52: password=MD5.hash(request.getParameter("sPassword1"));
Tanto password como sPassword1 son Strings, como debe ser.
La clase MD5.java que utilizo es la siguiente:
package ayudas;
import java.security.*;
public class MD5 extends Object {
/* Función privada para convertir el resultado de encriptar a un string hexadecimal de 8 dígitos */
private static String asHex(byte hash[]){
StringBuffer buf=new StringBuffer(hash.length*2);
int i;
for(i=0;i<hash.length;i++){
if (((int)hash[i]&0xff)<0x10)
buf.append("0");
buf.append(Long.toString((int)hash[i]& 0xff,16));
}
return buf.toString().toUpperCase();
}
/*Toma un string y devuelve su código encriptado en un string de dígitos hexadecimales */
public static String hash(String arg){
return hash(arg.getBytes());
}
/* Toma un array de bytes y devuelve su código enciptado como un string de dígitos hexadecimales */
public static String hash(byte barray[]){
String restring="";
try{
MessageDigest md=MessageDigest.getInstance("encriptar");
md.update(barray);
byte[] result=md.digest();
restring=asHex(result);
}catch(NoSuchAlgorithmException nsa){}
return restring;
}
}
y donde utilizamos MD5 se importa:
<%@ page import="java.sql.*" %>
<%@ page import="ayudas.MD5"%>
Alguien sabe dónde puede estar el error???
Muchísimas gracias.
Valora esta pregunta


0