scar
06-12-2005, 22:07
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:
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
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:
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