public final class sun.security.provider.MD2 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.MD2
super_class: sun.security.provider.DigestBase
{
private int[] X;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] C;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private byte[] cBytes;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private static final int[] S;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[][] PADDING;
descriptor: [[B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: .line 112
sipush 256
newarray 10
dup
iconst_0
1: .line 113
bipush 41
iastore
dup
iconst_1
bipush 46
iastore
dup
iconst_2
bipush 67
iastore
dup
iconst_3
sipush 201
iastore
dup
iconst_4
sipush 162
iastore
dup
iconst_5
sipush 216
iastore
dup
bipush 6
bipush 124
iastore
dup
bipush 7
iconst_1
iastore
dup
bipush 8
bipush 61
iastore
dup
bipush 9
bipush 54
iastore
dup
bipush 10
bipush 84
iastore
dup
bipush 11
sipush 161
iastore
dup
bipush 12
sipush 236
iastore
dup
bipush 13
sipush 240
iastore
dup
bipush 14
bipush 6
iastore
dup
bipush 15
2: .line 114
bipush 19
iastore
dup
bipush 16
bipush 98
iastore
dup
bipush 17
sipush 167
iastore
dup
bipush 18
iconst_5
iastore
dup
bipush 19
sipush 243
iastore
dup
bipush 20
sipush 192
iastore
dup
bipush 21
sipush 199
iastore
dup
bipush 22
bipush 115
iastore
dup
bipush 23
sipush 140
iastore
dup
bipush 24
sipush 152
iastore
dup
bipush 25
sipush 147
iastore
dup
bipush 26
bipush 43
iastore
dup
bipush 27
sipush 217
iastore
dup
bipush 28
sipush 188
iastore
dup
bipush 29
3: .line 115
bipush 76
iastore
dup
bipush 30
sipush 130
iastore
dup
bipush 31
sipush 202
iastore
dup
bipush 32
bipush 30
iastore
dup
bipush 33
sipush 155
iastore
dup
bipush 34
bipush 87
iastore
dup
bipush 35
bipush 60
iastore
dup
bipush 36
sipush 253
iastore
dup
bipush 37
sipush 212
iastore
dup
bipush 38
sipush 224
iastore
dup
bipush 39
bipush 22
iastore
dup
bipush 40
bipush 103
iastore
dup
bipush 41
bipush 66
iastore
dup
bipush 42
bipush 111
iastore
dup
bipush 43
bipush 24
iastore
dup
bipush 44
4: .line 116
sipush 138
iastore
dup
bipush 45
bipush 23
iastore
dup
bipush 46
sipush 229
iastore
dup
bipush 47
bipush 18
iastore
dup
bipush 48
sipush 190
iastore
dup
bipush 49
bipush 78
iastore
dup
bipush 50
sipush 196
iastore
dup
bipush 51
sipush 214
iastore
dup
bipush 52
sipush 218
iastore
dup
bipush 53
sipush 158
iastore
dup
bipush 54
sipush 222
iastore
dup
bipush 55
bipush 73
iastore
dup
bipush 56
sipush 160
iastore
dup
bipush 57
sipush 251
iastore
dup
bipush 58
5: .line 117
sipush 245
iastore
dup
bipush 59
sipush 142
iastore
dup
bipush 60
sipush 187
iastore
dup
bipush 61
bipush 47
iastore
dup
bipush 62
sipush 238
iastore
dup
bipush 63
bipush 122
iastore
dup
bipush 64
sipush 169
iastore
dup
bipush 65
bipush 104
iastore
dup
bipush 66
bipush 121
iastore
dup
bipush 67
sipush 145
iastore
dup
bipush 68
bipush 21
iastore
dup
bipush 69
sipush 178
iastore
dup
bipush 70
bipush 7
iastore
dup
bipush 71
bipush 63
iastore
dup
bipush 72
6: .line 118
sipush 148
iastore
dup
bipush 73
sipush 194
iastore
dup
bipush 74
bipush 16
iastore
dup
bipush 75
sipush 137
iastore
dup
bipush 76
bipush 11
iastore
dup
bipush 77
bipush 34
iastore
dup
bipush 78
bipush 95
iastore
dup
bipush 79
bipush 33
iastore
dup
bipush 80
sipush 128
iastore
dup
bipush 81
bipush 127
iastore
dup
bipush 82
bipush 93
iastore
dup
bipush 83
sipush 154
iastore
dup
bipush 84
bipush 90
iastore
dup
bipush 85
sipush 144
iastore
dup
bipush 86
bipush 50
iastore
dup
bipush 87
7: .line 119
bipush 39
iastore
dup
bipush 88
bipush 53
iastore
dup
bipush 89
bipush 62
iastore
dup
bipush 90
sipush 204
iastore
dup
bipush 91
sipush 231
iastore
dup
bipush 92
sipush 191
iastore
dup
bipush 93
sipush 247
iastore
dup
bipush 94
sipush 151
iastore
dup
bipush 95
iconst_3
iastore
dup
bipush 96
sipush 255
iastore
dup
bipush 97
bipush 25
iastore
dup
bipush 98
bipush 48
iastore
dup
bipush 99
sipush 179
iastore
dup
bipush 100
bipush 72
iastore
dup
bipush 101
sipush 165
iastore
dup
bipush 102
8: .line 120
sipush 181
iastore
dup
bipush 103
sipush 209
iastore
dup
bipush 104
sipush 215
iastore
dup
bipush 105
bipush 94
iastore
dup
bipush 106
sipush 146
iastore
dup
bipush 107
bipush 42
iastore
dup
bipush 108
sipush 172
iastore
dup
bipush 109
bipush 86
iastore
dup
bipush 110
sipush 170
iastore
dup
bipush 111
sipush 198
iastore
dup
bipush 112
bipush 79
iastore
dup
bipush 113
sipush 184
iastore
dup
bipush 114
bipush 56
iastore
dup
bipush 115
sipush 210
iastore
dup
bipush 116
9: .line 121
sipush 150
iastore
dup
bipush 117
sipush 164
iastore
dup
bipush 118
bipush 125
iastore
dup
bipush 119
sipush 182
iastore
dup
bipush 120
bipush 118
iastore
dup
bipush 121
sipush 252
iastore
dup
bipush 122
bipush 107
iastore
dup
bipush 123
sipush 226
iastore
dup
bipush 124
sipush 156
iastore
dup
bipush 125
bipush 116
iastore
dup
bipush 126
iconst_4
iastore
dup
bipush 127
sipush 241
iastore
dup
sipush 128
bipush 69
iastore
dup
sipush 129
sipush 157
iastore
dup
sipush 130
10: .line 122
bipush 112
iastore
dup
sipush 131
bipush 89
iastore
dup
sipush 132
bipush 100
iastore
dup
sipush 133
bipush 113
iastore
dup
sipush 134
sipush 135
iastore
dup
sipush 135
bipush 32
iastore
dup
sipush 136
sipush 134
iastore
dup
sipush 137
bipush 91
iastore
dup
sipush 138
sipush 207
iastore
dup
sipush 139
bipush 101
iastore
dup
sipush 140
sipush 230
iastore
dup
sipush 141
bipush 45
iastore
dup
sipush 142
sipush 168
iastore
dup
sipush 143
iconst_2
iastore
dup
sipush 144
bipush 27
iastore
dup
sipush 145
11: .line 123
bipush 96
iastore
dup
sipush 146
bipush 37
iastore
dup
sipush 147
sipush 173
iastore
dup
sipush 148
sipush 174
iastore
dup
sipush 149
sipush 176
iastore
dup
sipush 150
sipush 185
iastore
dup
sipush 151
sipush 246
iastore
dup
sipush 152
bipush 28
iastore
dup
sipush 153
bipush 70
iastore
dup
sipush 154
bipush 97
iastore
dup
sipush 155
bipush 105
iastore
dup
sipush 156
bipush 52
iastore
dup
sipush 157
bipush 64
iastore
dup
sipush 158
bipush 126
iastore
dup
sipush 159
bipush 15
iastore
dup
sipush 160
12: .line 124
bipush 85
iastore
dup
sipush 161
bipush 71
iastore
dup
sipush 162
sipush 163
iastore
dup
sipush 163
bipush 35
iastore
dup
sipush 164
sipush 221
iastore
dup
sipush 165
bipush 81
iastore
dup
sipush 166
sipush 175
iastore
dup
sipush 167
bipush 58
iastore
dup
sipush 168
sipush 195
iastore
dup
sipush 169
bipush 92
iastore
dup
sipush 170
sipush 249
iastore
dup
sipush 171
sipush 206
iastore
dup
sipush 172
sipush 186
iastore
dup
sipush 173
sipush 197
iastore
dup
sipush 174
13: .line 125
sipush 234
iastore
dup
sipush 175
bipush 38
iastore
dup
sipush 176
bipush 44
iastore
dup
sipush 177
bipush 83
iastore
dup
sipush 178
bipush 13
iastore
dup
sipush 179
bipush 110
iastore
dup
sipush 180
sipush 133
iastore
dup
sipush 181
bipush 40
iastore
dup
sipush 182
sipush 132
iastore
dup
sipush 183
bipush 9
iastore
dup
sipush 184
sipush 211
iastore
dup
sipush 185
sipush 223
iastore
dup
sipush 186
sipush 205
iastore
dup
sipush 187
sipush 244
iastore
dup
sipush 188
bipush 65
iastore
dup
sipush 189
14: .line 126
sipush 129
iastore
dup
sipush 190
bipush 77
iastore
dup
sipush 191
bipush 82
iastore
dup
sipush 192
bipush 106
iastore
dup
sipush 193
sipush 220
iastore
dup
sipush 194
bipush 55
iastore
dup
sipush 195
sipush 200
iastore
dup
sipush 196
bipush 108
iastore
dup
sipush 197
sipush 193
iastore
dup
sipush 198
sipush 171
iastore
dup
sipush 199
sipush 250
iastore
dup
sipush 200
bipush 36
iastore
dup
sipush 201
sipush 225
iastore
dup
sipush 202
bipush 123
iastore
dup
sipush 203
15: .line 127
bipush 8
iastore
dup
sipush 204
bipush 12
iastore
dup
sipush 205
sipush 189
iastore
dup
sipush 206
sipush 177
iastore
dup
sipush 207
bipush 74
iastore
dup
sipush 208
bipush 120
iastore
dup
sipush 209
sipush 136
iastore
dup
sipush 210
sipush 149
iastore
dup
sipush 211
sipush 139
iastore
dup
sipush 212
sipush 227
iastore
dup
sipush 213
bipush 99
iastore
dup
sipush 214
sipush 232
iastore
dup
sipush 215
bipush 109
iastore
dup
sipush 216
sipush 233
iastore
dup
sipush 217
16: .line 128
sipush 203
iastore
dup
sipush 218
sipush 213
iastore
dup
sipush 219
sipush 254
iastore
dup
sipush 220
bipush 59
iastore
dup
sipush 222
bipush 29
iastore
dup
sipush 223
bipush 57
iastore
dup
sipush 224
sipush 242
iastore
dup
sipush 225
sipush 239
iastore
dup
sipush 226
sipush 183
iastore
dup
sipush 227
bipush 14
iastore
dup
sipush 228
bipush 102
iastore
dup
sipush 229
bipush 88
iastore
dup
sipush 230
sipush 208
iastore
dup
sipush 231
sipush 228
iastore
dup
sipush 232
17: .line 129
sipush 166
iastore
dup
sipush 233
bipush 119
iastore
dup
sipush 234
bipush 114
iastore
dup
sipush 235
sipush 248
iastore
dup
sipush 236
sipush 235
iastore
dup
sipush 237
bipush 117
iastore
dup
sipush 238
bipush 75
iastore
dup
sipush 239
bipush 10
iastore
dup
sipush 240
bipush 49
iastore
dup
sipush 241
bipush 68
iastore
dup
sipush 242
bipush 80
iastore
dup
sipush 243
sipush 180
iastore
dup
sipush 244
sipush 143
iastore
dup
sipush 245
sipush 237
iastore
dup
sipush 246
18: .line 130
bipush 31
iastore
dup
sipush 247
bipush 26
iastore
dup
sipush 248
sipush 219
iastore
dup
sipush 249
sipush 153
iastore
dup
sipush 250
sipush 141
iastore
dup
sipush 251
bipush 51
iastore
dup
sipush 252
sipush 159
iastore
dup
sipush 253
bipush 17
iastore
dup
sipush 254
sipush 131
iastore
dup
sipush 255
bipush 20
iastore
19: .line 112
putstatic sun.security.provider.MD2.S:[I
20: .line 139
bipush 17
anewarray byte[]
putstatic sun.security.provider.MD2.PADDING:[[B
21: .line 140
iconst_1
istore 0 /* i */
start local 0 // int i
22: goto 27
23: .line 141
StackMap locals: int
StackMap stack:
iload 0 /* i */
newarray 8
astore 1 /* b */
start local 1 // byte[] b
24: .line 142
aload 1 /* b */
iload 0 /* i */
i2b
invokestatic java.util.Arrays.fill:([BB)V
25: .line 143
getstatic sun.security.provider.MD2.PADDING:[[B
iload 0 /* i */
aload 1 /* b */
aastore
end local 1 // byte[] b
26: .line 140
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
27: iload 0 /* i */
bipush 17
if_icmplt 23
end local 0 // int i
28: .line 145
return
LocalVariableTable:
Start End Slot Name Signature
22 28 0 i I
24 26 1 b [B
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // sun.security.provider.MD2 this
0: .line 55
aload 0 /* this */
ldc "MD2"
bipush 16
bipush 16
invokespecial sun.security.provider.DigestBase.<init>:(Ljava/lang/String;II)V
1: .line 56
aload 0 /* this */
bipush 48
newarray 10
putfield sun.security.provider.MD2.X:[I
2: .line 57
aload 0 /* this */
bipush 16
newarray 10
putfield sun.security.provider.MD2.C:[I
3: .line 58
aload 0 /* this */
bipush 16
newarray 8
putfield sun.security.provider.MD2.cBytes:[B
4: .line 59
return
end local 0 // sun.security.provider.MD2 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/MD2;
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // sun.security.provider.MD2 this
0: .line 62
aload 0 /* this */
invokespecial sun.security.provider.DigestBase.clone:()Ljava/lang/Object;
checkcast sun.security.provider.MD2
astore 1 /* copy */
start local 1 // sun.security.provider.MD2 copy
1: .line 63
aload 1 /* copy */
aload 1 /* copy */
getfield sun.security.provider.MD2.X:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.security.provider.MD2.X:[I
2: .line 64
aload 1 /* copy */
aload 1 /* copy */
getfield sun.security.provider.MD2.C:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.security.provider.MD2.C:[I
3: .line 65
aload 1 /* copy */
bipush 16
newarray 8
putfield sun.security.provider.MD2.cBytes:[B
4: .line 66
aload 1 /* copy */
areturn
end local 1 // sun.security.provider.MD2 copy
end local 0 // sun.security.provider.MD2 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/MD2;
1 5 1 copy Lsun/security/provider/MD2;
Exceptions:
throws java.lang.CloneNotSupportedException
void implReset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.security.provider.MD2 this
0: .line 71
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
1: .line 72
aload 0 /* this */
getfield sun.security.provider.MD2.C:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
2: .line 73
return
end local 0 // sun.security.provider.MD2 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/MD2;
void implDigest(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 // sun.security.provider.MD2 this
start local 1 // byte[] out
start local 2 // int ofs
0: .line 77
bipush 16
aload 0 /* this */
getfield sun.security.provider.MD2.bytesProcessed:J
l2i
bipush 15
iand
isub
istore 3 /* padValue */
start local 3 // int padValue
1: .line 78
aload 0 /* this */
getstatic sun.security.provider.MD2.PADDING:[[B
iload 3 /* padValue */
aaload
iconst_0
iload 3 /* padValue */
invokevirtual sun.security.provider.MD2.engineUpdate:([BII)V
2: .line 79
iconst_0
istore 4 /* i */
start local 4 // int i
3: goto 6
4: .line 80
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.security.provider.MD2.cBytes:[B
iload 4 /* i */
aload 0 /* this */
getfield sun.security.provider.MD2.C:[I
iload 4 /* i */
iaload
i2b
bastore
5: .line 79
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 4 /* i */
bipush 16
if_icmplt 4
end local 4 // int i
7: .line 82
aload 0 /* this */
aload 0 /* this */
getfield sun.security.provider.MD2.cBytes:[B
iconst_0
invokevirtual sun.security.provider.MD2.implCompress:([BI)V
8: .line 83
iconst_0
istore 4 /* i */
start local 4 // int i
9: goto 12
10: .line 84
StackMap locals:
StackMap stack:
aload 1 /* out */
iload 2 /* ofs */
iload 4 /* i */
iadd
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
iload 4 /* i */
iaload
i2b
bastore
11: .line 83
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
bipush 16
if_icmplt 10
end local 4 // int i
13: .line 86
return
end local 3 // int padValue
end local 2 // int ofs
end local 1 // byte[] out
end local 0 // sun.security.provider.MD2 this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/provider/MD2;
0 14 1 out [B
0 14 2 ofs I
1 14 3 padValue I
3 7 4 i I
9 13 4 i I
MethodParameters:
Name Flags
out
ofs
void implCompress(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=3
start local 0 // sun.security.provider.MD2 this
start local 1 // byte[] b
start local 2 // int ofs
0: .line 90
iconst_0
istore 3 /* i */
start local 3 // int i
1: goto 6
2: .line 91
StackMap locals: int
StackMap stack:
aload 1 /* b */
iload 2 /* ofs */
iload 3 /* i */
iadd
baload
sipush 255
iand
istore 4 /* k */
start local 4 // int k
3: .line 92
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
bipush 16
iload 3 /* i */
iadd
iload 4 /* k */
iastore
4: .line 93
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
bipush 32
iload 3 /* i */
iadd
iload 4 /* k */
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
iload 3 /* i */
iaload
ixor
iastore
end local 4 // int k
5: .line 90
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
bipush 16
if_icmplt 2
end local 3 // int i
7: .line 97
aload 0 /* this */
getfield sun.security.provider.MD2.C:[I
bipush 15
iaload
istore 3 /* t */
start local 3 // int t
8: .line 98
iconst_0
istore 4 /* i */
start local 4 // int i
9: goto 12
10: .line 99
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.security.provider.MD2.C:[I
iload 4 /* i */
dup2
iaload
getstatic sun.security.provider.MD2.S:[I
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
bipush 16
iload 4 /* i */
iadd
iaload
iload 3 /* t */
ixor
iaload
ixor
dup_x2
iastore
istore 3 /* t */
11: .line 98
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
bipush 16
if_icmplt 10
end local 4 // int i
13: .line 102
iconst_0
istore 3 /* t */
14: .line 103
iconst_0
istore 4 /* i */
start local 4 // int i
15: goto 23
16: .line 104
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* j */
start local 5 // int j
17: goto 20
18: .line 105
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.security.provider.MD2.X:[I
iload 5 /* j */
dup2
iaload
getstatic sun.security.provider.MD2.S:[I
iload 3 /* t */
iaload
ixor
dup_x2
iastore
istore 3 /* t */
19: .line 104
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
20: iload 5 /* j */
bipush 48
if_icmplt 18
end local 5 // int j
21: .line 107
iload 3 /* t */
iload 4 /* i */
iadd
sipush 255
iand
istore 3 /* t */
22: .line 103
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
23: iload 4 /* i */
bipush 18
if_icmplt 16
end local 4 // int i
24: .line 109
return
end local 3 // int t
end local 2 // int ofs
end local 1 // byte[] b
end local 0 // sun.security.provider.MD2 this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/provider/MD2;
0 25 1 b [B
0 25 2 ofs I
1 7 3 i I
3 5 4 k I
8 25 3 t I
9 13 4 i I
15 24 4 i I
17 21 5 j I
MethodParameters:
Name Flags
b
ofs
}
SourceFile: "MD2.java"