From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/Listing4803.java | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/Listing4803.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/Listing4803.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/Listing4803.java b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4803.java new file mode 100644 index 0000000..dcc1e99 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/Listing4803.java @@ -0,0 +1,49 @@ +/* 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); + } + } +} \ No newline at end of file -- cgit v1.2.3