/* Listing4803.java */ import java.io.*; import java.security.*; public class Listing4803 { /** * Konvertiert ein Byte in einen Hex-String. */ public static String toHexString(byte b) { int value = (b & 0x7F) + (b < 0 ? 128 : 0); String ret = (value < 16 ? "0" : ""); ret += Integer.toHexString(value).toUpperCase(); return ret; } public static void main(String[] args) { if (args.length < 2) { System.out.println( "Usage: java Listing4803 md-algorithm filename" ); System.exit(0); } try { //MessageDigest erstellen MessageDigest md = MessageDigest.getInstance(args[0]); FileInputStream in = new FileInputStream(args[1]); int len; byte[] data = new byte[1024]; while ((len = in.read(data)) > 0) { //MessageDigest updaten md.update(data, 0, len); } in.close(); //MessageDigest berechnen und ausgeben byte[] result = md.digest(); for (int i = 0; i < result.length; ++i) { System.out.print(toHexString(result[i]) + " "); } System.out.println(); } catch (Exception e) { System.err.println(e.toString()); System.exit(1); } } }