Originariamente inviato da mery messina
Qualcuno oggi potrebbe darmi una mano spiegandomi come implementare un metodo che dato il nome ad esempio pippo.xml mi restituisce l' hash???
Ciao, ma allora non hai compreso nulla dell'esempio sul mio sito??? Scusa se te lo chiedo .... ma vista la tua risposta faccio le mie deduzioni .....
Nel package java.security c'è una classe, MessageDigest, che permette di sfruttare vari tipi di "algoritmi" di hash ... quelli che sono ovviamente disponibili e implementati (gli algoritmi sono "pluggabili" all'interno del framework).
Un MessageDigest non lo ottieni facendo new MessageDigest(...) ma lo ottieni da un metodo static "factory" che è getInstance().
Quindi es.
codice:
MessageDigest md = MessageDigest.getInstance("MD5");
Se vai a vedere la documentazione javadoc (cosa che suggerisco), vedrai che ha 4 metodi update:
codice:
void update(byte input)
void update(byte[] input)
void update(byte[] input, int offset, int len)
void update(ByteBuffer input)
Tutta la sequenza di byte di cui devi generare l'hash la devi far passare a questi metodi. Chiaramente quale metodo usare dipende da come ti arrivano i byte. Se devi leggere un file, non vai certo ad usare il primo per passare 1 byte per volta!!! Leggi il file a "blocchi" di tot byte e quindi usi il terzo update(), quello che ha il len.
Alla fine di tutto usi digest() per ottenere il valore del hash (sotto forma di byte[]).
Tutto qui.