re PR libgcj/17903 (Incorrect SHA result)

2004-10-12  Rutger Ovidius  <ovidr@users.sourceforge.net>

	PR libgcj/17903:
	* testsuite/libjava.lang/md5test.java: New file.
	* testsuite/libjava.lang/md5test.out: Likewise.
	* testsuite/libjava.lang/shatest.java: Likewise.
	* testsuite/libjava.lang/shatest.out: Likewise.

From-SVN: r88922
This commit is contained in:
Rutger Ovidius 2004-10-12 10:13:39 +00:00 committed by Andreas Tobler
parent 3789b31650
commit 2abb138b79
5 changed files with 124 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2004-10-12 Rutger Ovidius <ovidr@users.sourceforge.net>
PR libgcj/17903:
* testsuite/libjava.lang/md5test.java: New file.
* testsuite/libjava.lang/md5test.out: Likewise.
* testsuite/libjava.lang/shatest.java: Likewise.
* testsuite/libjava.lang/shatest.out: Likewise.
2004-10-11 Richard Henderson <rth@redhat.com>
* include/posix-threads.h <__alpha__> (_Jv_ThreadId_t): Use void*.

View File

@ -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();
}

View File

@ -0,0 +1,12 @@
0CC175B9C0F1B6A831C399E269772661
0CC175B9C0F1B6A831C399E269772661
900150983CD24FB0D6963F7D28E17F72
900150983CD24FB0D6963F7D28E17F72
F96B697D7CB7938D525A2F31AAF161D0
F96B697D7CB7938D525A2F31AAF161D0
C3FCD3D76192E4007DFB496CCA67E13B
C3FCD3D76192E4007DFB496CCA67E13B
D174AB98D277D9F5A5611C2C9F419D9F
D174AB98D277D9F5A5611C2C9F419D9F
57EDF4A22BE3C955AC49DA2E2107B67A
57EDF4A22BE3C955AC49DA2E2107B67A

View File

@ -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();
}

View File

@ -0,0 +1,2 @@
84983E441C3BD26EBAAE4AA1F95129E5E54670F1
84983E441C3BD26EBAAE4AA1F95129E5E54670F1