Erro de retorno

6 respostas
O

Pessoal, pq o erro: incompatible types em : return aMessageDigest; ???
mas aMessageDigest e do tipo byte, ai nao entendi…

import java.security.*;

public class Hash {
       private static String orig;
       private static byte[] msg;
       private static byte[] aMessageDigest;

public String setHash(String  osha) {

      MessageDigest md = MessageDigest.getInstance("SHA-1");
      orig = osha;
      msg = orig.getBytes();

      md.update(msg);

      aMessageDigest = md.digest();

  }
public byte getHash(){
       return aMessageDigest;
}
}

6 Respostas

Daniel_Quirino_Olive

Na verdade, o erro está no fato do compilador estar esperando pelo retorno no método setHash que, em sua declaração, deveria retornar uma String. :wink:

O

Mas, eu coloquei String tb e deu erro…estranho…

Daniel_Quirino_Olive

Tenta isso aqui.

import java.security.*;

public class Hash {
       private static String orig;
       private static byte[] msg;
       private static byte[] aMessageDigest;

public void setHash(String  osha) {

      MessageDigest md = MessageDigest.getInstance("SHA-1");
      orig = osha;
      msg = orig.getBytes();

      md.update(msg);

      aMessageDigest = md.digest();

  }
public byte[] getHash(){
       return aMessageDigest;
}
}

P.S.: Olhe bem os tipos de retorno. A variável “aMessageDigest” é um byte[] e não apenas um byte.

O

faltou o [color=“red”]throws Exception[/color]
agora o throws Exception foi q não entendi…

valeu Daniel

Daniel_Quirino_Olive

“ozorro”:
faltou o [color=“red”]throws Exception[/color]
agora o throws Exception foi q não entendi…

valeu Daniel


Em algum ponto aí (provavelmente no método setHash(…) ) deve haver algum tipo de processamento que lance uma exceção. Para tanto, ou você a trata (jogando o seu código dentro de um bloco try…catch) ou você repassa esta exceção adiante (declarando que seu método joga uma certa exceção usando a cláusula throws BlablablaException).

O

Ok, valeu!!!

Criado 24 de novembro de 2003
Ultima resposta 24 de nov. de 2003
Respostas 6
Participantes 2