Qualcuno sa dirmi come calcolare l' hash relativo ad un file?Mi spiego meglio per ogni file ad esempio pippo.xml devo calcolare l' hash...Mi chiedevo se esisteva gia' qualche metodo in java e quindi poter importare qualche libreria...
Qualcuno sa dirmi come calcolare l' hash relativo ad un file?Mi spiego meglio per ogni file ad esempio pippo.xml devo calcolare l' hash...Mi chiedevo se esisteva gia' qualche metodo in java e quindi poter importare qualche libreria...
Devi solo vedere che hash ti va bene... per esempio per MD5
http://www.rgagnon.com/javadetails/java-0416.html
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Io del file condosco solo il nome, se anche MD5 va bene.....come faccio quale metodo chiamo se ho da calcolare l' hash per il file pippo.xml...
Ma l'hai letto? In ingresso quel programma prende il nome di un file, in uscita restituisce l'hash md5... di più che vuoi?
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Se guardi tra i miei Java Examples, nella sezione Security trovi un esempio bello pronto.Originariamente inviato da mery messina
Qualcuno sa dirmi come calcolare l' hash relativo ad un file?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ho visitato la tua area security ma non riesco a capire quale sia l' esempio.... mi indichi il prototipo del metodo al quale ti riferisci!!!
Grazie![]()
Al momento ce n'è 1 solo di sorgente .... quello è! E non mi sembra così difficile: usa diversi (4) MessageDigest ma a parte questo apre il file, aggiorna tutti i digest e poi stampa i risultati alla fine ..Originariamente inviato da mery messina
ho visitato la tua area security ma non riesco a capire quale sia l' esempio....
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Buongiorno ragazzi....
Ieri ho aperto questa discussione,mi è stato dato qualche suggerimento,ma non ho risolto il problema...
Qualcuno oggi potrebbe darmi una mano spiegandomi come implementare un metodo che dato il nome ad esempio pippo.xml mi restituisce l' hash???
Pongo nuovamente la stessa domanda ma non esiste una libreria java che al suo interno presenta un metodo che calcolo l' hash...
Ho cercato su diversi motori di ricerca,ma non ho trovato niente...Grazie
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 .....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???
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.
Se vai a vedere la documentazione javadoc (cosa che suggerisco), vedrai che ha 4 metodi update:codice:MessageDigest md = MessageDigest.getInstance("MD5");
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.codice:void update(byte input) void update(byte[] input) void update(byte[] input, int offset, int len) void update(ByteBuffer input)
Alla fine di tutto usi digest() per ottenere il valore del hash (sotto forma di byte[]).
Tutto qui.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
che dovevo usare quel file lo avevo capito....
infatti ho scritto questo codice:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.security.MessageDigest;
import java.security.*;
public class button3Listener implements ActionListener {
public void actionPerformed(ActionEvent e)
{
private static void fileDigestsUpdate(String filename, MessageDigest[] digests)
throws IOException {
FileInputStream fis = new FileInputStream(filename);
try {
byte[] buffer = new byte[4096];
int len;
while ((len = fis.read(buffer)) > 0) {
for (int i = 0; i < digests.length; i++) {
if (digests[i] != null) {
digests[i].update(buffer, 0, len);
}
}
}
} finally {
fis.close();
}
}
}
}
eclipse mi sottolinea in rosso fileDigestsUpdate(....) poi non ho capito come faccio a invocare tale metodo e a passare il nome del file che voglio calcolare l' hash......
oggi non capisco niente.....