java mens, (corrijam se estou falando besteiras)

analisando um trecho de codigo, fiquei curioso em saber como que o java
captura somente os bytes ou soh as strings. 

como que um arquivo gerado com message digest, que contem alem da mensagem
o valor do hash, ao ser transformado para string soh mostra o conteudo da
mensagem?

os bytes que contem o hash ficam  ocultos de que forma ?

estou com duvida pela seguinte razao:
quando utilizamos o metodo isEqual(a,b) 
'a' eh a nova compilaçao e 'b' eh a compilacao antiga.
mas acontece que 'a' provem de um md.update(data.getBytes) 
MAS data EH foi carregada como STRING assim:
String data = (String) o;


obrigado in advance.

//=========================================================================
//abaixo o codigo completo:

import java.io.*;
import java.security.*;
        public class Receive { public static void main(String args[]) 
        {
                try {
                        FileInputStream fis = new FileInputStream("test");
                        ObjectInputStream ois = new ObjectInputStream(fis);

                        Object o = ois.readObject();
                        if (!(o instanceof String))
                         {
                                System.out.println("Unexpected data in file");
                                System.exit(-1);
                        }
                        String data = (String) o;
                        System.out.println("Pegando a mensagem:\n " + data);

                        o = ois.readObject( );
                        if (!(o instanceof byte[] )) {
                                System.out.println("Unexpected data in file");
                                System.exit(-1);
                        }
                        byte origDigest[] = (byte []) o;

                        MessageDigest md = MessageDigest.getInstance("SHA");
                        md.update(data.getBytes());
                        if (MessageDigest.isEqual(md.digest(), origDigest))
                                System.out.println("\nA mensagem foi testada e eh 
valida");
                        else System.out.println("\nA mensagem foi testada e nao eh 
valida."+
                        "Ela foi adulterada!");
                } catch (Exception e) {
        System.out.println(e);
} } }
//======================================================


_____________________________________________________________
Tamer Americo - Conselho Federal de Medicina - CFM 
Analista de Sistemas - [EMAIL PROTECTED] - ICQ:3221276
-------------------------------------------------------------

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a