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