40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
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();
|
|
|
|
}
|