public final class org.apache.tomcat.util.security.MD5Encoder
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.tomcat.util.security.MD5Encoder
super_class: java.lang.Object
{
private static final char[] hexadecimal;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 36
bipush 16
newarray 5
dup
iconst_0
bipush 48
castore
dup
iconst_1
bipush 49
castore
dup
iconst_2
bipush 50
castore
dup
iconst_3
bipush 51
castore
dup
iconst_4
bipush 52
castore
dup
iconst_5
bipush 53
castore
dup
bipush 6
1: .line 37
bipush 54
castore
dup
bipush 7
bipush 55
castore
dup
bipush 8
bipush 56
castore
dup
bipush 9
bipush 57
castore
dup
bipush 10
bipush 97
castore
dup
bipush 11
bipush 98
castore
dup
bipush 12
bipush 99
castore
dup
bipush 13
bipush 100
castore
dup
bipush 14
bipush 101
castore
dup
bipush 15
bipush 102
castore
2: .line 36
putstatic org.apache.tomcat.util.security.MD5Encoder.hexadecimal:[C
3: .line 37
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.tomcat.util.security.MD5Encoder this
0: .line 31
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 33
return
end local 0 // org.apache.tomcat.util.security.MD5Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/tomcat/util/security/MD5Encoder;
public static java.lang.String encode(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 // byte[] binaryData
0: .line 49
aload 0 /* binaryData */
arraylength
bipush 16
if_icmpeq 2
1: .line 50
aconst_null
areturn
2: .line 52
StackMap locals:
StackMap stack:
bipush 32
newarray 5
astore 1 /* buffer */
start local 1 // char[] buffer
3: .line 54
iconst_0
istore 2 /* i */
start local 2 // int i
4: goto 10
5: .line 55
StackMap locals: char[] int
StackMap stack:
aload 0 /* binaryData */
iload 2 /* i */
baload
bipush 15
iand
istore 3 /* low */
start local 3 // int low
6: .line 56
aload 0 /* binaryData */
iload 2 /* i */
baload
sipush 240
iand
iconst_4
ishr
istore 4 /* high */
start local 4 // int high
7: .line 57
aload 1 /* buffer */
iload 2 /* i */
iconst_2
imul
getstatic org.apache.tomcat.util.security.MD5Encoder.hexadecimal:[C
iload 4 /* high */
caload
castore
8: .line 58
aload 1 /* buffer */
iload 2 /* i */
iconst_2
imul
iconst_1
iadd
getstatic org.apache.tomcat.util.security.MD5Encoder.hexadecimal:[C
iload 3 /* low */
caload
castore
end local 4 // int high
end local 3 // int low
9: .line 54
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 2 /* i */
bipush 16
if_icmplt 5
end local 2 // int i
11: .line 61
new java.lang.String
dup
aload 1 /* buffer */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 1 // char[] buffer
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 12 0 binaryData [B
3 12 1 buffer [C
4 11 2 i I
6 9 3 low I
7 9 4 high I
MethodParameters:
Name Flags
binaryData
}
SourceFile: "MD5Encoder.java"