Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    9

    Informazioni crittografia MD5

    Ciao a tutti.
    Avrei bisogno di informazioni su una classe.
    Purtroppo non ricordo dove ho trovato tale classe ed essendo ancora un principiante vorrei chiedervi se qualcuno può commentarmi le istruzioni eseguite all'interno del metodo encrypt
    codice:
    import java.math.BigInteger;
    import java.security.MessageDigest;
       
    public class MD5Encrypter {
    
            
        public String encrypt(String enc) {
            try{
                MessageDigest m = MessageDigest.getInstance("MD5");
                m.update(enc.getBytes());
                return String.format("%032x",new BigInteger(1,m.digest()));
            }
            catch(Exception e){
                return null;
            }
        }
    }
    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    È una classe che ti calcola l'hash MD5 (vedi http://it.wikipedia.org/wiki/MD5).

    Tu gli passi una stringa arbitrariamente lunga e lui ti crea l'hash md5 di 128 bit.
    128 bit sono 16 bytes e l'ultima riga ("String.format") non fa altro che stamparti questi 16 bytes in formato esadecimale.

    Ti stamperà una cosa così:
    d41d8cd98f00b204e9800998ecf8427e

    Se raggruppi i caratteri a coppie visualizzi meglio i 16 bytes dell'hash.
    d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e

    Potresti passargli anche direttamente dei bytes se modifichi la funzione,
    per ottenere l'hash md5 per esempio di un file.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    9
    Ti ringrazio.
    Non avevo capito infatti precisamente l'ultima riga di codice probabilmente anche a causa della ignoranza negli algoritmi di crittografia.
    Nello specifico vorrei chiederti cosa indica:
    codice:
    new BigInteger(1, m.digest()))
    Grazie ancora.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Trevo92
    Ti ringrazio.
    Non avevo capito infatti precisamente l'ultima riga di codice probabilmente anche a causa della ignoranza negli algoritmi di crittografia.
    Nello specifico vorrei chiederti cosa indica:
    codice:
    new BigInteger(1, m.digest()))
    Grazie ancora.
    guarda che l'ultima riga di codice non c'entra NIENTE con la crittografia.
    dopo
    con md.update() ;

    hai finito, l'ultima riga serve a rappresentare in forma "human-readable" qualcosa di già calcolato (come un hash md5)
    RTFM Read That F*** Manual!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2011
    Messaggi
    9
    Scusate, mi sono spiegato male. Intendevo dire che pensavo fosse già in formato leggibile per quello non capivo l'ultima riga.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.