public class org.bouncycastle.util.encoders.HexEncoder implements org.bouncycastle.util.encoders.Encoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.util.encoders.HexEncoder
super_class: java.lang.Object
{
protected final byte[] encodingTable;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] decodingTable;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected void initialiseDecodingTable();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
iload 1
iconst_m1
bastore
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
arraylength
if_icmplt 2
end local 1 5: iconst_0
istore 1
start local 1 6: goto 9
7: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.encodingTable:[B
iload 1
baload
iload 1
i2b
bastore
8: iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.encodingTable:[B
arraylength
if_icmplt 7
end local 1 10: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 65
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 97
baload
bastore
11: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 66
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 98
baload
bastore
12: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 67
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 99
baload
bastore
13: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 68
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 100
baload
bastore
14: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 69
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 101
baload
bastore
15: aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 70
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
bipush 102
baload
bastore
16: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/util/encoders/HexEncoder;
1 5 1 i I
6 10 1 i I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
2: bipush 16
newarray 8
dup
iconst_0
3: bipush 48
bastore
dup
iconst_1
bipush 49
bastore
dup
iconst_2
bipush 50
bastore
dup
iconst_3
bipush 51
bastore
dup
iconst_4
bipush 52
bastore
dup
iconst_5
bipush 53
bastore
dup
bipush 6
bipush 54
bastore
dup
bipush 7
bipush 55
bastore
dup
bipush 8
4: bipush 56
bastore
dup
bipush 9
bipush 57
bastore
dup
bipush 10
bipush 97
bastore
dup
bipush 11
bipush 98
bastore
dup
bipush 12
bipush 99
bastore
dup
bipush 13
bipush 100
bastore
dup
bipush 14
bipush 101
bastore
dup
bipush 15
bipush 102
bastore
putfield org.bouncycastle.util.encoders.HexEncoder.encodingTable:[B
5: aload 0
sipush 128
newarray 8
putfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
6: aload 0
invokevirtual org.bouncycastle.util.encoders.HexEncoder.initialiseDecodingTable:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/util/encoders/HexEncoder;
public int encode(byte[], int, int, java.io.OutputStream);
descriptor: ([BIILjava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
istore 5
start local 5 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 5
baload
sipush 255
iand
istore 6
start local 6 3: aload 4
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.encodingTable:[B
iload 6
iconst_4
iushr
baload
invokevirtual java.io.OutputStream.write:(I)V
4: aload 4
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.encodingTable:[B
iload 6
bipush 15
iand
baload
invokevirtual java.io.OutputStream.write:(I)V
end local 6 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 2
iload 3
iadd
if_icmplt 2
end local 5 7: iload 3
iconst_2
imul
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/util/encoders/HexEncoder;
0 8 1 data [B
0 8 2 off I
0 8 3 length I
0 8 4 out Ljava/io/OutputStream;
1 7 5 i I
3 5 6 v I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
off
length
out
private static boolean ignore(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 10
if_icmpeq 1
iload 0
bipush 13
if_icmpeq 1
iload 0
bipush 9
if_icmpeq 1
iload 0
bipush 32
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
MethodParameters:
Name Flags
c
public int decode(byte[], int, int, java.io.OutputStream);
descriptor: ([BIILjava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 7
start local 7 1: iload 2
iload 3
iadd
istore 8
start local 8 2: goto 6
3: StackMap locals: org.bouncycastle.util.encoders.HexEncoder byte[] int int java.io.OutputStream top top int int
StackMap stack:
aload 1
iload 8
iconst_1
isub
baload
i2c
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 5
4: goto 7
5: StackMap locals:
StackMap stack:
iinc 8 -1
6: StackMap locals:
StackMap stack:
iload 8
iload 2
if_icmpgt 3
7: StackMap locals:
StackMap stack:
iload 2
istore 9
start local 9 8: goto 20
9: StackMap locals: int
StackMap stack:
iinc 9 1
10: StackMap locals:
StackMap stack:
iload 9
iload 8
if_icmpge 11
aload 1
iload 9
baload
i2c
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 9
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
aload 1
iload 9
iinc 9 1
baload
baload
istore 5
start local 5 12: goto 14
13: StackMap locals: org.bouncycastle.util.encoders.HexEncoder byte[] int int java.io.OutputStream int top int int int
StackMap stack:
iinc 9 1
14: StackMap locals:
StackMap stack:
iload 9
iload 8
if_icmpge 15
aload 1
iload 9
baload
i2c
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 13
15: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
aload 1
iload 9
iinc 9 1
baload
baload
istore 6
start local 6 16: iload 5
iload 6
ior
ifge 18
17: new java.io.IOException
dup
ldc "invalid characters encountered in Hex data"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: org.bouncycastle.util.encoders.HexEncoder byte[] int int java.io.OutputStream int int int int int
StackMap stack:
aload 4
iload 5
iconst_4
ishl
iload 6
ior
invokevirtual java.io.OutputStream.write:(I)V
19: iinc 7 1
end local 6 end local 5 20: StackMap locals: org.bouncycastle.util.encoders.HexEncoder byte[] int int java.io.OutputStream top top int int int
StackMap stack:
iload 9
iload 8
if_icmplt 10
21: iload 7
ireturn
end local 9 end local 8 end local 7 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/bouncycastle/util/encoders/HexEncoder;
0 22 1 data [B
0 22 2 off I
0 22 3 length I
0 22 4 out Ljava/io/OutputStream;
12 20 5 b1 B
16 20 6 b2 B
1 22 7 outLen I
2 22 8 end I
8 22 9 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
off
length
out
public int decode(java.lang.String, java.io.OutputStream);
descriptor: (Ljava/lang/String;Ljava/io/OutputStream;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 5
start local 5 1: aload 1
invokevirtual java.lang.String.length:()I
istore 6
start local 6 2: goto 6
3: StackMap locals: org.bouncycastle.util.encoders.HexEncoder java.lang.String java.io.OutputStream top top int int
StackMap stack:
aload 1
iload 6
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 5
4: goto 7
5: StackMap locals:
StackMap stack:
iinc 6 -1
6: StackMap locals:
StackMap stack:
iload 6
ifgt 3
7: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 8: goto 20
9: StackMap locals: int
StackMap stack:
iinc 7 1
10: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmpge 11
aload 1
iload 7
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 9
11: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
aload 1
iload 7
iinc 7 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 3
start local 3 12: goto 14
13: StackMap locals: org.bouncycastle.util.encoders.HexEncoder java.lang.String java.io.OutputStream int top int int int
StackMap stack:
iinc 7 1
14: StackMap locals:
StackMap stack:
iload 7
iload 6
if_icmpge 15
aload 1
iload 7
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.bouncycastle.util.encoders.HexEncoder.ignore:(C)Z
ifne 13
15: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.encoders.HexEncoder.decodingTable:[B
aload 1
iload 7
iinc 7 1
invokevirtual java.lang.String.charAt:(I)C
baload
istore 4
start local 4 16: iload 3
iload 4
ior
ifge 18
17: new java.io.IOException
dup
ldc "invalid characters encountered in Hex string"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: org.bouncycastle.util.encoders.HexEncoder java.lang.String java.io.OutputStream int int int int int
StackMap stack:
aload 2
iload 3
iconst_4
ishl
iload 4
ior
invokevirtual java.io.OutputStream.write:(I)V
19: iinc 5 1
end local 4 end local 3 20: StackMap locals: org.bouncycastle.util.encoders.HexEncoder java.lang.String java.io.OutputStream top top int int int
StackMap stack:
iload 7
iload 6
if_icmplt 10
21: iload 5
ireturn
end local 7 end local 6 end local 5 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/bouncycastle/util/encoders/HexEncoder;
0 22 1 data Ljava/lang/String;
0 22 2 out Ljava/io/OutputStream;
12 20 3 b1 B
16 20 4 b2 B
1 22 5 length I
2 22 6 end I
8 22 7 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
out
}
SourceFile: "HexEncoder.java"