public final class org.springframework.security.crypto.codec.Hex
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.springframework.security.crypto.codec.Hex
super_class: java.lang.Object
{
private static final char[] HEX;
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: 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
bipush 54
castore
dup
bipush 7
bipush 55
castore
dup
bipush 8
bipush 56
castore
dup
bipush 9
bipush 57
castore
dup
bipush 10
1: 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: putstatic org.springframework.security.crypto.codec.Hex.HEX:[C
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/security/crypto/codec/Hex;
public static char[] encode(byte[]);
descriptor: ([B)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iconst_2
iload 1
imul
newarray 5
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
5: StackMap locals: byte[] int char[] int int
StackMap stack:
aload 2
iload 3
iinc 3 1
getstatic org.springframework.security.crypto.codec.Hex.HEX:[C
sipush 240
aload 0
iload 4
baload
iand
iconst_4
iushr
caload
castore
6: aload 2
iload 3
iinc 3 1
getstatic org.springframework.security.crypto.codec.Hex.HEX:[C
bipush 15
aload 0
iload 4
baload
iand
caload
castore
7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 1
if_icmplt 5
end local 4 9: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 bytes [B
1 10 1 nBytes I
2 10 2 result [C
3 10 3 j I
4 9 4 i I
MethodParameters:
Name Flags
bytes
public static byte[] decode(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 1
start local 1 1: iload 1
iconst_2
irem
ifeq 5
2: new java.lang.IllegalArgumentException
dup
3: ldc "Hex-encoded string must have an even number of characters"
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: int
StackMap stack:
iload 1
iconst_2
idiv
newarray 8
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 16
8: StackMap locals: byte[] int
StackMap stack:
aload 0
iload 3
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 4
start local 4 9: aload 0
iload 3
iconst_1
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
bipush 16
invokestatic java.lang.Character.digit:(CI)I
istore 5
start local 5 10: iload 4
iflt 11
iload 5
ifge 14
11: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
12: new java.lang.StringBuilder
dup
ldc "Detected a Non-hex character at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
iconst_2
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " position"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 2
iload 3
iconst_2
idiv
iload 4
iconst_4
ishl
iload 5
ior
i2b
bastore
end local 5 end local 4 15: iinc 3 2
StackMap locals:
StackMap stack:
16: iload 3
iload 1
if_icmplt 8
end local 3 17: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 s Ljava/lang/CharSequence;
1 18 1 nChars I
6 18 2 result [B
7 17 3 i I
9 15 4 msb I
10 15 5 lsb I
MethodParameters:
Name Flags
s
}
SourceFile: "Hex.java"