Index: testsuite/libjava.lang/md5test.java
===================================================================
RCS file: testsuite/libjava.lang/md5test.java
diff -N testsuite/libjava.lang/md5test.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/libjava.lang/md5test.java	12 Oct 2004 10:00:46 -0000
@@ -0,0 +1,63 @@
+import java.security.*;
+
+class md5test {
+
+
+    // gnu-crypto/source/gnu/testlet/gnu/crypto/hash/TestOfMD5.java
+
+    public static void main(String[] argv) {
+	String[] strings = {
+	    "a",
+	    "abc",
+	    "message digest",
+	    "abcdefghijklmnopqrstuvwxyz",
+	    "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
+	    "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
+	};
+
+	String[] expected = {
+	    "0CC175B9C0F1B6A831C399E269772661",
+	    "900150983CD24FB0D6963F7D28E17F72",
+	    "F96B697D7CB7938D525A2F31AAF161D0",
+	    "C3FCD3D76192E4007DFB496CCA67E13B",
+	    "D174AB98D277D9F5A5611C2C9F419D9F",
+	    "57EDF4A22BE3C955AC49DA2E2107B67A"
+	};
+
+	for (int i = 0; i < strings.length; i++)
+	    testString(strings[i], expected[i]);
+
+    }
+
+    public static void testString(String string, String expected) {
+
+	MessageDigest md=null;
+	try {
+	    md = MessageDigest.getInstance("MD5");
+	    md.update(string.getBytes(), 0, string.length());
+	    String result = toString(md.digest());
+	    System.out.println(expected);
+	    System.out.println(result);
+	    if (!expected.equals(result))
+		System.out.println("NOT EQUAL!");
+	} catch (Exception x) {
+	    x.printStackTrace();
+	}
+    }
+
+    public static String toString(byte[] ba) {
+	return toString(ba, 0, ba.length);
+    }
+    public static final String toString(byte[] ba, int offset, int length) {
+	char[] buf = new char[length * 2];
+	for (int i = 0, j = 0, k; i < length; ) {
+	    k = ba[offset + i++];
+	    buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F];
+	    buf[j++] = HEX_DIGITS[ k        & 0x0F];
+	}
+	return new String(buf);
+    }
+
+    private static final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
+
+}
Index: testsuite/libjava.lang/md5test.out
===================================================================
RCS file: testsuite/libjava.lang/md5test.out
diff -N testsuite/libjava.lang/md5test.out
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/libjava.lang/md5test.out	12 Oct 2004 10:00:46 -0000
@@ -0,0 +1,12 @@
+0CC175B9C0F1B6A831C399E269772661
+0CC175B9C0F1B6A831C399E269772661
+900150983CD24FB0D6963F7D28E17F72
+900150983CD24FB0D6963F7D28E17F72
+F96B697D7CB7938D525A2F31AAF161D0
+F96B697D7CB7938D525A2F31AAF161D0
+C3FCD3D76192E4007DFB496CCA67E13B
+C3FCD3D76192E4007DFB496CCA67E13B
+D174AB98D277D9F5A5611C2C9F419D9F
+D174AB98D277D9F5A5611C2C9F419D9F
+57EDF4A22BE3C955AC49DA2E2107B67A
+57EDF4A22BE3C955AC49DA2E2107B67A
Index: testsuite/libjava.lang/shatest.java
===================================================================
RCS file: testsuite/libjava.lang/shatest.java
diff -N testsuite/libjava.lang/shatest.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/libjava.lang/shatest.java	12 Oct 2004 10:00:46 -0000
@@ -0,0 +1,39 @@
+import java.security.*;
+
+class shatest {
+
+    // gnu-crypto/source/gnu/testlet/gnu/crypto/hash/TestOfSha160.java
+
+    public static void main(String[] argv) {
+	MessageDigest md=null;
+	try {
+	    md = MessageDigest.getInstance("SHA-1");
+	} catch (Exception e) {
+	    e.printStackTrace();
+	}
+	md.update("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq".getBytes(), 0, 56);
+	String exp = "84983E441C3BD26EBAAE4AA1F95129E5E54670F1";
+	String result = toString(md.digest());
+	System.out.println(exp);
+	System.out.println(result);
+	if (!exp.equals(result))
+	    System.out.println("NOT EQUAL!");
+
+    }
+
+    public static String toString(byte[] ba) {
+	return toString(ba, 0, ba.length);
+    }
+    public static final String toString(byte[] ba, int offset, int length) {
+	char[] buf = new char[length * 2];
+	for (int i = 0, j = 0, k; i < length; ) {
+	    k = ba[offset + i++];
+	    buf[j++] = HEX_DIGITS[(k >>> 4) & 0x0F];
+	    buf[j++] = HEX_DIGITS[ k        & 0x0F];
+	}
+	return new String(buf);
+    }
+
+    private static final char[] HEX_DIGITS = "0123456789ABCDEF".toCharArray();
+
+}
Index: testsuite/libjava.lang/shatest.out
===================================================================
RCS file: testsuite/libjava.lang/shatest.out
diff -N testsuite/libjava.lang/shatest.out
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/libjava.lang/shatest.out	12 Oct 2004 10:00:46 -0000
@@ -0,0 +1,2 @@
+84983E441C3BD26EBAAE4AA1F95129E5E54670F1
+84983E441C3BD26EBAAE4AA1F95129E5E54670F1
