public class org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 implements org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryEncoder, org.jasypt.contrib.org.apache.commons.codec_1_3.BinaryDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64
super_class: java.lang.Object
{
static final int CHUNK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 76
static final byte[] CHUNK_SEPARATOR;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int BASELENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 255
static final int LOOKUPLENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int EIGHTBIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
static final int SIXTEENBIT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 16
static final int TWENTYFOURBITGROUP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 24
static final int FOURBYTE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int SIGN;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -128
static final byte PAD;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 61
private static byte[] base64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static byte[] lookUpBase64Alphabet;
descriptor: [B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: .line 57
ldc "\r\n"
invokevirtual java.lang.String.getBytes:()[B
putstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
1: .line 101
sipush 255
newarray 8
putstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
2: .line 102
bipush 64
newarray 8
putstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
3: .line 106
iconst_0
istore 0 /* i */
start local 0 // int i
4: goto 7
5: .line 107
StackMap locals: int
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 0 /* i */
iconst_m1
bastore
6: .line 106
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 0 /* i */
sipush 255
if_icmplt 5
end local 0 // int i
8: .line 109
bipush 90
istore 0 /* i */
start local 0 // int i
9: goto 12
10: .line 110
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 65
isub
i2b
bastore
11: .line 109
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
12: iload 0 /* i */
bipush 65
if_icmpge 10
end local 0 // int i
13: .line 112
bipush 122
istore 0 /* i */
start local 0 // int i
14: goto 17
15: .line 113
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 97
isub
bipush 26
iadd
i2b
bastore
16: .line 112
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
17: iload 0 /* i */
bipush 97
if_icmpge 15
end local 0 // int i
18: .line 115
bipush 57
istore 0 /* i */
start local 0 // int i
19: goto 22
20: .line 116
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 0 /* i */
iload 0 /* i */
bipush 48
isub
bipush 52
iadd
i2b
bastore
21: .line 115
iinc 0 /* i */ -1
StackMap locals:
StackMap stack:
22: iload 0 /* i */
bipush 48
if_icmpge 20
end local 0 // int i
23: .line 119
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
bipush 43
bipush 62
bastore
24: .line 120
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
bipush 47
bipush 63
bastore
25: .line 122
iconst_0
istore 0 /* i */
start local 0 // int i
26: goto 29
27: .line 123
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 65
iload 0 /* i */
iadd
i2b
bastore
28: .line 122
iinc 0 /* i */ 1
StackMap locals:
StackMap stack:
29: iload 0 /* i */
bipush 25
if_icmple 27
end local 0 // int i
30: .line 126
bipush 26
istore 0 /* i */
start local 0 // int i
31: iconst_0
istore 1 /* j */
start local 1 // int j
32: goto 35
33: .line 127
StackMap locals: int
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 97
iload 1 /* j */
iadd
i2b
bastore
34: .line 126
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
35: iload 0 /* i */
bipush 51
if_icmple 33
end local 1 // int j
end local 0 // int i
36: .line 130
bipush 52
istore 0 /* i */
start local 0 // int i
37: iconst_0
istore 1 /* j */
start local 1 // int j
38: goto 41
39: .line 131
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 0 /* i */
bipush 48
iload 1 /* j */
iadd
i2b
bastore
40: .line 130
iinc 0 /* i */ 1
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
41: iload 0 /* i */
bipush 61
if_icmple 39
end local 1 // int j
end local 0 // int i
42: .line 134
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
bipush 62
bipush 43
bastore
43: .line 135
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
bipush 63
bipush 47
bastore
44: .line 136
return
LocalVariableTable:
Start End Slot Name Signature
4 8 0 i I
9 13 0 i I
14 18 0 i I
19 23 0 i I
26 30 0 i I
31 36 0 i I
32 36 1 j I
37 42 0 i I
38 42 1 j I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
private static boolean isBase64(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte octect
0: .line 139
iload 0 /* octect */
bipush 61
if_icmpne 2
1: .line 140
iconst_1
ireturn
2: .line 141
StackMap locals:
StackMap stack:
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 0 /* octect */
baload
iconst_m1
if_icmpne 4
3: .line 142
iconst_0
ireturn
4: .line 144
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 // byte octect
LocalVariableTable:
Start End Slot Name Signature
0 5 0 octect B
MethodParameters:
Name Flags
octect
public static boolean isArrayByteBase64(byte[]);
descriptor: ([B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // byte[] arrayOctect
0: .line 158
aload 0 /* arrayOctect */
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.discardWhitespace:([B)[B
astore 0 /* arrayOctect */
1: .line 160
aload 0 /* arrayOctect */
arraylength
istore 1 /* length */
start local 1 // int length
2: .line 161
iload 1 /* length */
ifne 4
3: .line 164
iconst_1
ireturn
4: .line 166
StackMap locals: int
StackMap stack:
iconst_0
istore 2 /* i */
start local 2 // int i
5: goto 9
6: .line 167
StackMap locals: int
StackMap stack:
aload 0 /* arrayOctect */
iload 2 /* i */
baload
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.isBase64:(B)Z
ifne 8
7: .line 168
iconst_0
ireturn
8: .line 166
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* i */
iload 1 /* length */
if_icmplt 6
end local 2 // int i
10: .line 171
iconst_1
ireturn
end local 1 // int length
end local 0 // byte[] arrayOctect
LocalVariableTable:
Start End Slot Name Signature
0 11 0 arrayOctect [B
2 11 1 length I
5 10 2 i I
MethodParameters:
Name Flags
arrayOctect
public static byte[] encodeBase64(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] binaryData
0: .line 182
aload 0 /* binaryData */
iconst_0
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.encodeBase64:([BZ)[B
areturn
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 1 0 binaryData [B
MethodParameters:
Name Flags
binaryData
public static byte[] encodeBase64Chunked(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] binaryData
0: .line 193
aload 0 /* binaryData */
iconst_1
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.encodeBase64:([BZ)[B
areturn
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 1 0 binaryData [B
MethodParameters:
Name Flags
binaryData
public java.lang.Object decode(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
start local 1 // java.lang.Object pObject
0: .line 210
aload 1 /* pObject */
instanceof byte[]
ifne 2
1: .line 211
new org.jasypt.contrib.org.apache.commons.codec_1_3.DecoderException
dup
ldc "Parameter supplied to Base64 decode is not a byte[]"
invokespecial org.jasypt.contrib.org.apache.commons.codec_1_3.DecoderException.<init>:(Ljava/lang/String;)V
athrow
2: .line 213
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* pObject */
checkcast byte[]
invokevirtual org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.decode:([B)[B
areturn
end local 1 // java.lang.Object pObject
end local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
0 3 1 pObject Ljava/lang/Object;
Exceptions:
throws org.jasypt.contrib.org.apache.commons.codec_1_3.DecoderException
MethodParameters:
Name Flags
pObject
public byte[] decode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
start local 1 // byte[] pArray
0: .line 224
aload 1 /* pArray */
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.decodeBase64:([B)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
0 1 1 pArray [B
MethodParameters:
Name Flags
pArray
public static byte[] encodeBase64(byte[], boolean);
descriptor: ([BZ)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=21, args_size=2
start local 0 // byte[] binaryData
start local 1 // boolean isChunked
0: .line 237
aload 0 /* binaryData */
arraylength
bipush 8
imul
istore 2 /* lengthDataBits */
start local 2 // int lengthDataBits
1: .line 238
iload 2 /* lengthDataBits */
bipush 24
irem
istore 3 /* fewerThan24bits */
start local 3 // int fewerThan24bits
2: .line 239
iload 2 /* lengthDataBits */
bipush 24
idiv
istore 4 /* numberTriplets */
start local 4 // int numberTriplets
3: .line 240
aconst_null
astore 5 /* encodedData */
start local 5 // byte[] encodedData
4: .line 241
iconst_0
istore 6 /* encodedDataLength */
start local 6 // int encodedDataLength
5: .line 242
iconst_0
istore 7 /* nbrChunks */
start local 7 // int nbrChunks
6: .line 244
iload 3 /* fewerThan24bits */
ifeq 9
7: .line 246
iload 4 /* numberTriplets */
iconst_1
iadd
iconst_4
imul
istore 6 /* encodedDataLength */
8: .line 247
goto 10
9: .line 249
StackMap locals: byte[] int int int int byte[] int int
StackMap stack:
iload 4 /* numberTriplets */
iconst_4
imul
istore 6 /* encodedDataLength */
10: .line 255
StackMap locals:
StackMap stack:
iload 1 /* isChunked */
ifeq 15
11: .line 258
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
ifne 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iload 6 /* encodedDataLength */
i2f
ldc 76.0
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
13: .line 257
StackMap locals:
StackMap stack: int
istore 7 /* nbrChunks */
14: .line 259
iload 6 /* encodedDataLength */
iload 7 /* nbrChunks */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
iadd
istore 6 /* encodedDataLength */
15: .line 262
StackMap locals:
StackMap stack:
iload 6 /* encodedDataLength */
newarray 8
astore 5 /* encodedData */
16: .line 264
iconst_0
istore 8 /* k */
start local 8 // byte k
17: iconst_0
istore 9 /* l */
start local 9 // byte l
18: iconst_0
istore 10 /* b1 */
start local 10 // byte b1
19: iconst_0
istore 11 /* b2 */
start local 11 // byte b2
20: iconst_0
istore 12 /* b3 */
start local 12 // byte b3
21: .line 266
iconst_0
istore 13 /* encodedIndex */
start local 13 // int encodedIndex
22: .line 267
iconst_0
istore 14 /* dataIndex */
start local 14 // int dataIndex
23: .line 268
iconst_0
istore 15 /* i */
start local 15 // int i
24: .line 269
bipush 76
istore 16 /* nextSeparatorIndex */
start local 16 // int nextSeparatorIndex
25: .line 270
iconst_0
istore 17 /* chunksSoFar */
start local 17 // int chunksSoFar
26: .line 273
iconst_0
istore 15 /* i */
goto 66
27: .line 274
StackMap locals: byte[] int int int int byte[] int int int int int int int int int int int int
StackMap stack:
iload 15 /* i */
iconst_3
imul
istore 14 /* dataIndex */
28: .line 275
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
29: .line 276
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
30: .line 277
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_2
iadd
baload
istore 12 /* b3 */
31: .line 281
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
32: .line 282
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
33: .line 285
iload 10 /* b1 */
bipush -128
iand
ifne 34
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 35
StackMap locals:
StackMap stack:
34: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
35: .line 284
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
36: .line 287
iload 11 /* b2 */
bipush -128
iand
ifne 37
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 38
StackMap locals: int
StackMap stack:
37: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
38: .line 286
StackMap locals:
StackMap stack: int
istore 19 /* val2 */
start local 19 // byte val2
39: .line 289
iload 12 /* b3 */
bipush -128
iand
ifne 40
iload 12 /* b3 */
bipush 6
ishr
i2b
goto 41
StackMap locals: int
StackMap stack:
40: iload 12 /* b3 */
bipush 6
ishr
sipush 252
ixor
i2b
41: .line 288
StackMap locals:
StackMap stack: int
istore 20 /* val3 */
start local 20 // byte val3
42: .line 291
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
43: .line 295
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
44: .line 296
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
45: .line 295
bastore
46: .line 297
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
47: .line 298
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
iload 20 /* val3 */
ior
baload
48: .line 297
bastore
49: .line 299
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 12 /* b3 */
bipush 63
iand
baload
bastore
50: .line 301
iinc 13 /* encodedIndex */ 4
51: .line 304
iload 1 /* isChunked */
ifeq 65
52: .line 306
iload 13 /* encodedIndex */
iload 16 /* nextSeparatorIndex */
if_icmpne 65
53: .line 308
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
54: .line 309
iconst_0
55: .line 310
aload 5 /* encodedData */
56: .line 311
iload 13 /* encodedIndex */
57: .line 312
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
58: .line 307
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
59: .line 313
iinc 17 /* chunksSoFar */ 1
60: .line 315
bipush 76
iload 17 /* chunksSoFar */
iconst_1
iadd
imul
61: .line 316
iload 17 /* chunksSoFar */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
imul
62: .line 315
iadd
63: .line 314
istore 16 /* nextSeparatorIndex */
64: .line 317
iload 13 /* encodedIndex */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
iadd
istore 13 /* encodedIndex */
end local 20 // byte val3
end local 19 // byte val2
end local 18 // byte val1
65: .line 273
StackMap locals:
StackMap stack:
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
66: iload 15 /* i */
iload 4 /* numberTriplets */
if_icmplt 27
67: .line 323
iload 15 /* i */
iconst_3
imul
istore 14 /* dataIndex */
68: .line 325
iload 3 /* fewerThan24bits */
bipush 8
if_icmpne 79
69: .line 326
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
70: .line 327
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
71: .line 331
iload 10 /* b1 */
bipush -128
iand
ifne 72
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 73
StackMap locals:
StackMap stack:
72: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
73: .line 330
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
74: .line 332
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
75: .line 333
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 8 /* k */
iconst_4
ishl
baload
bastore
76: .line 334
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
bipush 61
bastore
77: .line 335
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 18 // byte val1
78: .line 336
goto 96
StackMap locals:
StackMap stack:
79: iload 3 /* fewerThan24bits */
bipush 16
if_icmpne 96
80: .line 338
aload 0 /* binaryData */
iload 14 /* dataIndex */
baload
istore 10 /* b1 */
81: .line 339
aload 0 /* binaryData */
iload 14 /* dataIndex */
iconst_1
iadd
baload
istore 11 /* b2 */
82: .line 340
iload 11 /* b2 */
bipush 15
iand
i2b
istore 9 /* l */
83: .line 341
iload 10 /* b1 */
iconst_3
iand
i2b
istore 8 /* k */
84: .line 344
iload 10 /* b1 */
bipush -128
iand
ifne 85
iload 10 /* b1 */
iconst_2
ishr
i2b
goto 86
StackMap locals:
StackMap stack:
85: iload 10 /* b1 */
iconst_2
ishr
sipush 192
ixor
i2b
86: .line 343
StackMap locals:
StackMap stack: int
istore 18 /* val1 */
start local 18 // byte val1
87: .line 346
iload 11 /* b2 */
bipush -128
iand
ifne 88
iload 11 /* b2 */
iconst_4
ishr
i2b
goto 89
StackMap locals: int
StackMap stack:
88: iload 11 /* b2 */
iconst_4
ishr
sipush 240
ixor
i2b
89: .line 345
StackMap locals:
StackMap stack: int
istore 19 /* val2 */
start local 19 // byte val2
90: .line 348
aload 5 /* encodedData */
iload 13 /* encodedIndex */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 18 /* val1 */
baload
bastore
91: .line 349
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_1
iadd
92: .line 350
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 19 /* val2 */
iload 8 /* k */
iconst_4
ishl
ior
baload
93: .line 349
bastore
94: .line 351
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_2
iadd
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.lookUpBase64Alphabet:[B
iload 9 /* l */
iconst_2
ishl
baload
bastore
95: .line 352
aload 5 /* encodedData */
iload 13 /* encodedIndex */
iconst_3
iadd
bipush 61
bastore
end local 19 // byte val2
end local 18 // byte val1
96: .line 355
StackMap locals:
StackMap stack:
iload 1 /* isChunked */
ifeq 104
97: .line 357
iload 17 /* chunksSoFar */
iload 7 /* nbrChunks */
if_icmpge 104
98: .line 359
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
99: .line 360
iconst_0
100: .line 361
aload 5 /* encodedData */
101: .line 362
iload 6 /* encodedDataLength */
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
isub
102: .line 363
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.CHUNK_SEPARATOR:[B
arraylength
103: .line 358
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
104: .line 367
StackMap locals:
StackMap stack:
aload 5 /* encodedData */
areturn
end local 17 // int chunksSoFar
end local 16 // int nextSeparatorIndex
end local 15 // int i
end local 14 // int dataIndex
end local 13 // int encodedIndex
end local 12 // byte b3
end local 11 // byte b2
end local 10 // byte b1
end local 9 // byte l
end local 8 // byte k
end local 7 // int nbrChunks
end local 6 // int encodedDataLength
end local 5 // byte[] encodedData
end local 4 // int numberTriplets
end local 3 // int fewerThan24bits
end local 2 // int lengthDataBits
end local 1 // boolean isChunked
end local 0 // byte[] binaryData
LocalVariableTable:
Start End Slot Name Signature
0 105 0 binaryData [B
0 105 1 isChunked Z
1 105 2 lengthDataBits I
2 105 3 fewerThan24bits I
3 105 4 numberTriplets I
4 105 5 encodedData [B
5 105 6 encodedDataLength I
6 105 7 nbrChunks I
17 105 8 k B
18 105 9 l B
19 105 10 b1 B
20 105 11 b2 B
21 105 12 b3 B
22 105 13 encodedIndex I
23 105 14 dataIndex I
24 105 15 i I
25 105 16 nextSeparatorIndex I
26 105 17 chunksSoFar I
36 65 18 val1 B
39 65 19 val2 B
42 65 20 val3 B
74 78 18 val1 B
87 96 18 val1 B
90 96 19 val2 B
MethodParameters:
Name Flags
binaryData
isChunked
public static byte[] decodeBase64(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=1
start local 0 // byte[] base64Data
0: .line 378
aload 0 /* base64Data */
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.discardNonBase64:([B)[B
astore 0 /* base64Data */
1: .line 381
aload 0 /* base64Data */
arraylength
ifne 3
2: .line 382
iconst_0
newarray 8
areturn
3: .line 385
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
arraylength
iconst_4
idiv
istore 1 /* numberQuadruple */
start local 1 // int numberQuadruple
4: .line 386
aconst_null
astore 2 /* decodedData */
start local 2 // byte[] decodedData
5: .line 387
iconst_0
istore 3 /* b1 */
start local 3 // byte b1
6: iconst_0
istore 4 /* b2 */
start local 4 // byte b2
7: iconst_0
istore 5 /* b3 */
start local 5 // byte b3
8: iconst_0
istore 6 /* b4 */
start local 6 // byte b4
9: iconst_0
istore 7 /* marker0 */
start local 7 // byte marker0
10: iconst_0
istore 8 /* marker1 */
start local 8 // byte marker1
11: .line 391
iconst_0
istore 9 /* encodedIndex */
start local 9 // int encodedIndex
12: .line 392
iconst_0
istore 10 /* dataIndex */
start local 10 // int dataIndex
13: .line 395
aload 0 /* base64Data */
arraylength
istore 11 /* lastData */
start local 11 // int lastData
14: .line 397
goto 17
15: .line 398
StackMap locals: byte[] int byte[] int int int int int int int int int
StackMap stack:
iinc 11 /* lastData */ -1
iload 11 /* lastData */
ifne 17
16: .line 399
iconst_0
newarray 8
areturn
17: .line 397
StackMap locals:
StackMap stack:
aload 0 /* base64Data */
iload 11 /* lastData */
iconst_1
isub
baload
bipush 61
if_icmpeq 15
18: .line 402
iload 11 /* lastData */
iload 1 /* numberQuadruple */
isub
newarray 8
astore 2 /* decodedData */
end local 11 // int lastData
19: .line 405
iconst_0
istore 11 /* i */
start local 11 // int i
20: goto 46
21: .line 406
StackMap locals:
StackMap stack:
iload 11 /* i */
iconst_4
imul
istore 10 /* dataIndex */
22: .line 407
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_2
iadd
baload
istore 7 /* marker0 */
23: .line 408
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_3
iadd
baload
istore 8 /* marker1 */
24: .line 410
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 10 /* dataIndex */
baload
baload
istore 3 /* b1 */
25: .line 411
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
aload 0 /* base64Data */
iload 10 /* dataIndex */
iconst_1
iadd
baload
baload
istore 4 /* b2 */
26: .line 413
iload 7 /* marker0 */
bipush 61
if_icmpeq 35
iload 8 /* marker1 */
bipush 61
if_icmpeq 35
27: .line 415
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
28: .line 416
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 8 /* marker1 */
baload
istore 6 /* b4 */
29: .line 418
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
30: .line 419
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_1
iadd
31: .line 420
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
32: .line 419
bastore
33: .line 421
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_2
iadd
iload 5 /* b3 */
bipush 6
ishl
iload 6 /* b4 */
ior
i2b
bastore
34: .line 422
goto 44
StackMap locals:
StackMap stack:
35: iload 7 /* marker0 */
bipush 61
if_icmpne 38
36: .line 424
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
37: .line 425
goto 44
StackMap locals:
StackMap stack:
38: iload 8 /* marker1 */
bipush 61
if_icmpne 44
39: .line 427
getstatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.base64Alphabet:[B
iload 7 /* marker0 */
baload
istore 5 /* b3 */
40: .line 429
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iload 3 /* b1 */
iconst_2
ishl
iload 4 /* b2 */
iconst_4
ishr
ior
i2b
bastore
41: .line 430
aload 2 /* decodedData */
iload 9 /* encodedIndex */
iconst_1
iadd
42: .line 431
iload 4 /* b2 */
bipush 15
iand
iconst_4
ishl
iload 5 /* b3 */
iconst_2
ishr
bipush 15
iand
ior
i2b
43: .line 430
bastore
44: .line 433
StackMap locals:
StackMap stack:
iinc 9 /* encodedIndex */ 3
45: .line 405
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
46: iload 11 /* i */
iload 1 /* numberQuadruple */
if_icmplt 21
end local 11 // int i
47: .line 435
aload 2 /* decodedData */
areturn
end local 10 // int dataIndex
end local 9 // int encodedIndex
end local 8 // byte marker1
end local 7 // byte marker0
end local 6 // byte b4
end local 5 // byte b3
end local 4 // byte b2
end local 3 // byte b1
end local 2 // byte[] decodedData
end local 1 // int numberQuadruple
end local 0 // byte[] base64Data
LocalVariableTable:
Start End Slot Name Signature
0 48 0 base64Data [B
4 48 1 numberQuadruple I
5 48 2 decodedData [B
6 48 3 b1 B
7 48 4 b2 B
8 48 5 b3 B
9 48 6 b4 B
10 48 7 marker0 B
11 48 8 marker1 B
12 48 9 encodedIndex I
13 48 10 dataIndex I
14 19 11 lastData I
20 47 11 i I
MethodParameters:
Name Flags
base64Data
static byte[] discardWhitespace(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 // byte[] data
0: .line 446
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 447
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 449
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 8
4: .line 450
StackMap locals: byte[] int int
StackMap stack:
aload 0 /* data */
iload 3 /* i */
baload
lookupswitch { // 4
9: 5
10: 5
13: 5
32: 5
default: 6
}
5: .line 455
StackMap locals:
StackMap stack:
goto 7
6: .line 457
StackMap locals:
StackMap stack:
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
aload 0 /* data */
iload 3 /* i */
baload
bastore
7: .line 449
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 3 /* i */
aload 0 /* data */
arraylength
if_icmplt 4
end local 3 // int i
9: .line 461
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
10: .line 463
aload 1 /* groomedData */
iconst_0
aload 3 /* packedData */
iconst_0
iload 2 /* bytesCopied */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: .line 465
aload 3 /* packedData */
areturn
end local 3 // byte[] packedData
end local 2 // int bytesCopied
end local 1 // byte[] groomedData
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 12 0 data [B
1 12 1 groomedData [B
2 12 2 bytesCopied I
3 9 3 i I
10 12 3 packedData [B
MethodParameters:
Name Flags
data
static byte[] discardNonBase64(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 // byte[] data
0: .line 478
aload 0 /* data */
arraylength
newarray 8
astore 1 /* groomedData */
start local 1 // byte[] groomedData
1: .line 479
iconst_0
istore 2 /* bytesCopied */
start local 2 // int bytesCopied
2: .line 481
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 7
4: .line 482
StackMap locals: byte[] int int
StackMap stack:
aload 0 /* data */
iload 3 /* i */
baload
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.isBase64:(B)Z
ifeq 6
5: .line 483
aload 1 /* groomedData */
iload 2 /* bytesCopied */
iinc 2 /* bytesCopied */ 1
aload 0 /* data */
iload 3 /* i */
baload
bastore
6: .line 481
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* data */
arraylength
if_icmplt 4
end local 3 // int i
8: .line 487
iload 2 /* bytesCopied */
newarray 8
astore 3 /* packedData */
start local 3 // byte[] packedData
9: .line 489
aload 1 /* groomedData */
iconst_0
aload 3 /* packedData */
iconst_0
iload 2 /* bytesCopied */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: .line 491
aload 3 /* packedData */
areturn
end local 3 // byte[] packedData
end local 2 // int bytesCopied
end local 1 // byte[] groomedData
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 11 0 data [B
1 11 1 groomedData [B
2 11 2 bytesCopied I
3 8 3 i I
9 11 3 packedData [B
MethodParameters:
Name Flags
data
public java.lang.Object encode(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
start local 1 // java.lang.Object pObject
0: .line 510
aload 1 /* pObject */
instanceof byte[]
ifne 4
1: .line 511
new org.jasypt.contrib.org.apache.commons.codec_1_3.EncoderException
dup
2: .line 512
ldc "Parameter supplied to Base64 encode is not a byte[]"
3: .line 511
invokespecial org.jasypt.contrib.org.apache.commons.codec_1_3.EncoderException.<init>:(Ljava/lang/String;)V
athrow
4: .line 514
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* pObject */
checkcast byte[]
invokevirtual org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.encode:([B)[B
areturn
end local 1 // java.lang.Object pObject
end local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
0 5 1 pObject Ljava/lang/Object;
Exceptions:
throws org.jasypt.contrib.org.apache.commons.codec_1_3.EncoderException
MethodParameters:
Name Flags
pObject
public byte[] encode(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
start local 1 // byte[] pArray
0: .line 525
aload 1 /* pArray */
iconst_0
invokestatic org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.encodeBase64:([BZ)[B
areturn
end local 1 // byte[] pArray
end local 0 // org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
0 1 1 pArray [B
MethodParameters:
Name Flags
pArray
}
SourceFile: "Base64.java"