public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("Usage: java MD md-algorithm filename");
            System.exit(0);
        }
        try {
            // MessageDigest-Objekt erstellen (Algorithmus z.B. SHA-1 oder MD5)
            MessageDigest md = MessageDigest.getInstance(args[0]);
            System.out.println(md.getAlgorithm() + "-Message Digest:");
            // Datei oeffnen
            FileInputStream in = new FileInputStream(args[1]);
            int len;
            byte[] data = new byte[1024];
            // Datei lesen
            while ((len = in.read(data)) > 0) {
                // MessageDigest updaten
                md.update(data, 0, len);
            }
            in.close();
            // MessageDigest (kryptogr. Hashwert) berechnen
            byte[] result = md.digest();
            // MessageDigest ausgeben
            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);
        }
    }