Anzeige:
Ergebnis 1 bis 3 von 3

Thema: MD5 von Datei?

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.03.2004
    Ort
    Sauerland
    Beiträge
    54

    MD5 von Datei?

    Hallo!
    Habe vor kurzem mal mit Java angefangen.
    Stecke allerdings gerade bei einem Programm fest.
    Ich will die md5-summe einer Datei berechnen.
    Allerdings klappt das nicht so ganz:
    Code:
    public void genMD5() {
    		try {
    			FileInputStream in = new FileInputStream( sPath );
    			ByteArrayOutputStream out = new ByteArrayOutputStream();
    			for( int b=in.read(); b>0; b=in.read()) {
    				out.write(b);
    			}
    		    in.close();
    			byte[] bContent = out.toByteArray();
    			out.close();
    			try {
    	            MessageDigest md = MessageDigest.getInstance("MD5");
    	            md.update( bContent);
    	            md5 = md.digest();
    	            sMD5 = md.digest().toString();
    	        } catch (NoSuchAlgorithmException e) {
    	        	System.err.println("ERROR: The algorithm MD5 is not supported by your java platform.");
    	        }
    	        
    		} catch( IOException e ) {
    			System.err.println( "ERROR: occured when reading file \n\t\t" 
    					+ sPath + ": \n\t\t" + e.toString() );
    		}
    	}
    Als Ausgabe erscheint dann:
    [B@1cde100
    Was ja wirklich keine md5 summe ist.
    Denke das liegt an dem Dateiauslesen etc.
    Hoffe ihr könnt mir helfen.
    Christian
    Ge[eE]n[tT]o[oO]

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.03.2004
    Ort
    Sauerland
    Beiträge
    54
    Ah habs.
    Einmal sollte man für große Dateien statt out.write(b); md.update(...);
    nehmen.
    Ausserdem muss man die einzelnen bytes zu hex nach strings umwandeln.
    Dann hat man die korrekte md5 summe.
    Scar
    Ge[eE]n[tT]o[oO]

  3. #3
    Registrierter Benutzer
    Registriert seit
    10.02.2005
    Ort
    Hückelhoven
    Beiträge
    26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •