Come ottenere il checksum MD5 per un determinato file in Java? Come utilizzare l'utilità DigestUtils.md5Hex di Apache Common?

Pubblicato: 2021-08-28
Come ottenere il checksum MD5 per un determinato file in Java? Utilizzare DigestUtils.md5Hex di commons-codec

Rafforzare la sicurezza della tua applicazione aziendale è la sfida più grande di qualsiasi organizzazione.

Considera questo scenario di produzione reale:

  1. Hai un'applicazione che reads the value da un file
  2. In base al valore del file performs some operations come aggiungere/eliminare/eseguire
  3. Hai distribuito questa applicazione nell'ambiente di produzione
  4. Cosa succede se una unauthorized person changes the value di quel file a tua insaputa?
  5. La tua applicazione simply gets new value da un file ed esegue la logica che potrebbe causare unexpected outcome
  6. Se hai abilitato il checksum MD5 per quel file, potresti could have created an exception con un chiaro messaggio di errore e you could have prevented disaster o un risultato imprevisto

Che cos'è il checksum MD5?

Il checksum MD5 per un file è un 128-bit value , qualcosa come un'impronta digitale del file. Può essere utile sia per confrontare i file che per controllarne l'integrità.

Ottenere lo stesso valore per file diversi è quasi impossibile. In questo tutorial creeremo un semplice programma Java che crea e restituisce valori MD5 per un determinato file. Nel nostro caso è il file index.php .

Iniziamo:

Passo 1

Crea una classe pubblica CrunchifyGetMD5ForFile.java

Passo 2

Importa sotto due dipendenze Maven nel file pom.xml del tuo progetto. Tutorial per convertire un progetto in un progetto Maven.

Stiamo usando le librerie commons-codec e commons-io .

Passaggio 3

Crea checksum MD5 utilizzando l'utilità DigestUtils.md5Hex e stampa il risultato sulla console.

DigestUtils.md5Hex => implementazione encodeHex

Ecco un programma completo.

Crea la classe crunchifyGetMd5ForFile.java

Basta eseguire il programma sopra come un'applicazione Java e vedrai un risultato simile a questo.

Risultato della console IntelliJ IDEA:

Come utilizzerai questo checksum MD5 in fase di esecuzione per verificare l'integrità dei file?

Puoi confrontare questo checksum MD5 in fase di esecuzione con il valore memorizzato nel tuo database, come MySQL, Oracle, ecc.

Ci sono molti altri modi in cui potresti ottenere lo stesso risultato, ma ne parleremo in futuri tutorial.