public final class sun.security.provider.MD4 extends sun.security.provider.DigestBase
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.provider.MD4
super_class: sun.security.provider.DigestBase
{
private int[] state;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] x;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int S11;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S12;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int S13;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int S14;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 19
private static final int S21;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S22;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int S23;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int S24;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final int S31;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int S32;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int S33;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int S34;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final java.security.Provider md4Provider;
descriptor: Ljava/security/Provider;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new sun.security.provider.MD4$1
dup
ldc "MD4Provider"
ldc 1.8
ldc "MD4 MessageDigest"
invokespecial sun.security.provider.MD4$1.<init>:(Ljava/lang/String;DLjava/lang/String;)V
putstatic sun.security.provider.MD4.md4Provider:Ljava/security/Provider;
1: new sun.security.provider.MD4$2
dup
invokespecial sun.security.provider.MD4$2.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
LocalVariableTable:
Start End Slot Name Signature
public static java.security.MessageDigest getInstance();
descriptor: ()Ljava/security/MessageDigest;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: ldc "MD4"
getstatic sun.security.provider.MD4.md4Provider:Ljava/security/Provider;
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;
1: areturn
2: StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
astore 0
start local 0 3: new java.security.ProviderException
dup
aload 0
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
3 4 0 e Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
0 1 2 Class java.security.NoSuchAlgorithmException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc "MD4"
bipush 16
bipush 64
invokespecial sun.security.provider.DigestBase.<init>:(Ljava/lang/String;II)V
1: aload 0
iconst_4
newarray 10
putfield sun.security.provider.MD4.state:[I
2: aload 0
bipush 16
newarray 10
putfield sun.security.provider.MD4.x:[I
3: aload 0
invokevirtual sun.security.provider.MD4.resetHashes:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/MD4;
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.security.provider.DigestBase.clone:()Ljava/lang/Object;
checkcast sun.security.provider.MD4
astore 1
start local 1 1: aload 1
aload 1
getfield sun.security.provider.MD4.state:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.security.provider.MD4.state:[I
2: aload 1
bipush 16
newarray 10
putfield sun.security.provider.MD4.x:[I
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/MD4;
1 4 1 copy Lsun/security/provider/MD4;
Exceptions:
throws java.lang.CloneNotSupportedException
void implReset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.provider.MD4.resetHashes:()V
1: aload 0
getfield sun.security.provider.MD4.x:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/MD4;
private void resetHashes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_0
ldc 1732584193
iastore
1: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_1
ldc -271733879
iastore
2: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_2
ldc -1732584194
iastore
3: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_3
ldc 271733878
iastore
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/MD4;
void implDigest(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.MD4.bytesProcessed:J
iconst_3
lshl
lstore 3
start local 3 1: aload 0
getfield sun.security.provider.MD4.bytesProcessed:J
l2i
bipush 63
iand
istore 5
start local 5 2: iload 5
bipush 56
if_icmpge 3
bipush 56
iload 5
isub
goto 4
StackMap locals: long int
StackMap stack:
3: bipush 120
iload 5
isub
StackMap locals:
StackMap stack: int
4: istore 6
start local 6 5: aload 0
getstatic sun.security.provider.MD4.padding:[B
iconst_0
iload 6
invokevirtual sun.security.provider.MD4.engineUpdate:([BII)V
6: lload 3
l2i
aload 0
getfield sun.security.provider.MD4.buffer:[B
bipush 56
invokestatic sun.security.provider.ByteArrayAccess.i2bLittle4:(I[BI)V
7: lload 3
bipush 32
lushr
l2i
aload 0
getfield sun.security.provider.MD4.buffer:[B
bipush 60
invokestatic sun.security.provider.ByteArrayAccess.i2bLittle4:(I[BI)V
8: aload 0
aload 0
getfield sun.security.provider.MD4.buffer:[B
iconst_0
invokevirtual sun.security.provider.MD4.implCompress:([BI)V
9: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_0
aload 1
iload 2
bipush 16
invokestatic sun.security.provider.ByteArrayAccess.i2bLittle:([II[BII)V
10: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/provider/MD4;
0 11 1 out [B
0 11 2 ofs I
1 11 3 bitsProcessed J
2 11 5 index I
5 11 6 padLen I
MethodParameters:
Name Flags
out
ofs
private static int FF(int, int, int, int, int, int);
descriptor: (IIIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 0
iload 1
iload 2
iand
iload 1
iconst_m1
ixor
iload 3
iand
ior
iload 4
iadd
iadd
istore 0
1: iload 0
iload 5
ishl
iload 0
bipush 32
iload 5
isub
iushr
ior
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a I
0 2 1 b I
0 2 2 c I
0 2 3 d I
0 2 4 x I
0 2 5 s I
MethodParameters:
Name Flags
a
b
c
d
x
s
private static int GG(int, int, int, int, int, int);
descriptor: (IIIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 0
iload 1
iload 2
iand
iload 1
iload 3
iand
ior
iload 2
iload 3
iand
ior
iload 4
iadd
ldc 1518500249
iadd
iadd
istore 0
1: iload 0
iload 5
ishl
iload 0
bipush 32
iload 5
isub
iushr
ior
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a I
0 2 1 b I
0 2 2 c I
0 2 3 d I
0 2 4 x I
0 2 5 s I
MethodParameters:
Name Flags
a
b
c
d
x
s
private static int HH(int, int, int, int, int, int);
descriptor: (IIIIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 0
iload 1
iload 2
ixor
iload 3
ixor
iload 4
iadd
ldc 1859775393
iadd
iadd
istore 0
1: iload 0
iload 5
ishl
iload 0
bipush 32
iload 5
isub
iushr
ior
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a I
0 2 1 b I
0 2 2 c I
0 2 3 d I
0 2 4 x I
0 2 5 s I
MethodParameters:
Name Flags
a
b
c
d
x
s
void implCompress(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
aload 0
getfield sun.security.provider.MD4.x:[I
invokestatic sun.security.provider.ByteArrayAccess.b2iLittle64:([BI[I)V
1: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_0
iaload
istore 3
start local 3 2: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_1
iaload
istore 4
start local 4 3: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_2
iaload
istore 5
start local 5 4: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_3
iaload
istore 6
start local 6 5: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_0
iaload
iconst_3
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 3
6: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_1
iaload
bipush 7
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 6
7: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_2
iaload
bipush 11
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 5
8: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_3
iaload
bipush 19
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 4
9: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_4
iaload
iconst_3
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 3
10: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_5
iaload
bipush 7
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 6
11: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 6
iaload
bipush 11
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 5
12: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 7
iaload
bipush 19
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 4
13: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 8
iaload
iconst_3
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 3
14: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 9
iaload
bipush 7
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 6
15: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 10
iaload
bipush 11
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 5
16: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 11
iaload
bipush 19
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 4
17: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 12
iaload
iconst_3
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 3
18: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 13
iaload
bipush 7
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 6
19: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 14
iaload
bipush 11
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 5
20: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 15
iaload
bipush 19
invokestatic sun.security.provider.MD4.FF:(IIIIII)I
istore 4
21: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_0
iaload
iconst_3
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 3
22: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_4
iaload
iconst_5
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 6
23: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 8
iaload
bipush 9
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 5
24: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 12
iaload
bipush 13
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 4
25: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_1
iaload
iconst_3
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 3
26: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_5
iaload
iconst_5
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 6
27: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 9
iaload
bipush 9
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 5
28: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 13
iaload
bipush 13
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 4
29: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_2
iaload
iconst_3
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 3
30: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 6
iaload
iconst_5
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 6
31: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 10
iaload
bipush 9
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 5
32: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 14
iaload
bipush 13
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 4
33: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_3
iaload
iconst_3
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 3
34: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 7
iaload
iconst_5
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 6
35: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 11
iaload
bipush 9
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 5
36: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 15
iaload
bipush 13
invokestatic sun.security.provider.MD4.GG:(IIIIII)I
istore 4
37: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_0
iaload
iconst_3
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 3
38: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 8
iaload
bipush 9
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 6
39: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_4
iaload
bipush 11
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 5
40: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 12
iaload
bipush 15
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 4
41: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_2
iaload
iconst_3
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 3
42: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 10
iaload
bipush 9
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 6
43: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 6
iaload
bipush 11
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 5
44: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 14
iaload
bipush 15
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 4
45: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_1
iaload
iconst_3
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 3
46: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 9
iaload
bipush 9
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 6
47: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_5
iaload
bipush 11
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 5
48: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 13
iaload
bipush 15
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 4
49: iload 3
iload 4
iload 5
iload 6
aload 0
getfield sun.security.provider.MD4.x:[I
iconst_3
iaload
iconst_3
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 3
50: iload 6
iload 3
iload 4
iload 5
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 11
iaload
bipush 9
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 6
51: iload 5
iload 6
iload 3
iload 4
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 7
iaload
bipush 11
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 5
52: iload 4
iload 5
iload 6
iload 3
aload 0
getfield sun.security.provider.MD4.x:[I
bipush 15
iaload
bipush 15
invokestatic sun.security.provider.MD4.HH:(IIIIII)I
istore 4
53: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_0
dup2
iaload
iload 3
iadd
iastore
54: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_1
dup2
iaload
iload 4
iadd
iastore
55: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_2
dup2
iaload
iload 5
iadd
iastore
56: aload 0
getfield sun.security.provider.MD4.state:[I
iconst_3
dup2
iaload
iload 6
iadd
iastore
57: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/security/provider/MD4;
0 58 1 buf [B
0 58 2 ofs I
2 58 3 a I
3 58 4 b I
4 58 5 c I
5 58 6 d I
MethodParameters:
Name Flags
buf
ofs
}
SourceFile: "MD4.java"
NestMembers:
sun.security.provider.MD4$1 sun.security.provider.MD4$2
InnerClasses:
sun.security.provider.MD4$1
sun.security.provider.MD4$2