public class org.h2.security.Fog implements org.h2.security.BlockCipher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.security.Fog
super_class: java.lang.Object
{
private int key;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.h2.security.Fog this
0: .line 15
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/security/Fog;
public void encrypt(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 // org.h2.security.Fog this
start local 1 // byte[] bytes
start local 2 // int off
start local 3 // int len
0: .line 21
iload 2 /* off */
istore 4 /* i */
start local 4 // int i
1: goto 4
2: .line 22
StackMap locals: int
StackMap stack:
aload 0 /* this */
aload 1 /* bytes */
aload 1 /* bytes */
iload 4 /* i */
invokevirtual org.h2.security.Fog.encryptBlock:([B[BI)V
3: .line 21
iinc 4 /* i */ 16
StackMap locals:
StackMap stack:
4: iload 4 /* i */
iload 2 /* off */
iload 3 /* len */
iadd
if_icmplt 2
end local 4 // int i
5: .line 24
return
end local 3 // int len
end local 2 // int off
end local 1 // byte[] bytes
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/security/Fog;
0 6 1 bytes [B
0 6 2 off I
0 6 3 len I
1 5 4 i I
MethodParameters:
Name Flags
bytes
off
len
public void decrypt(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 // org.h2.security.Fog this
start local 1 // byte[] bytes
start local 2 // int off
start local 3 // int len
0: .line 28
iload 2 /* off */
istore 4 /* i */
start local 4 // int i
1: goto 4
2: .line 29
StackMap locals: int
StackMap stack:
aload 0 /* this */
aload 1 /* bytes */
aload 1 /* bytes */
iload 4 /* i */
invokevirtual org.h2.security.Fog.decryptBlock:([B[BI)V
3: .line 28
iinc 4 /* i */ 16
StackMap locals:
StackMap stack:
4: iload 4 /* i */
iload 2 /* off */
iload 3 /* len */
iadd
if_icmplt 2
end local 4 // int i
5: .line 31
return
end local 3 // int len
end local 2 // int off
end local 1 // byte[] bytes
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/security/Fog;
0 6 1 bytes [B
0 6 2 off I
0 6 3 len I
1 5 4 i I
MethodParameters:
Name Flags
bytes
off
len
private void encryptBlock(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 // org.h2.security.Fog this
start local 1 // byte[] in
start local 2 // byte[] out
start local 3 // int off
0: .line 34
aload 1 /* in */
iload 3 /* off */
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 4 /* x0 */
start local 4 // int x0
1: .line 35
aload 1 /* in */
iload 3 /* off */
iconst_4
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 5 /* x1 */
start local 5 // int x1
2: .line 36
aload 1 /* in */
iload 3 /* off */
bipush 8
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 6 /* x2 */
start local 6 // int x2
3: .line 37
aload 1 /* in */
iload 3 /* off */
bipush 12
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 7 /* x3 */
start local 7 // int x3
4: .line 38
aload 0 /* this */
getfield org.h2.security.Fog.key:I
istore 8 /* k */
start local 8 // int k
5: .line 39
iload 4 /* x0 */
iload 8 /* k */
ixor
iload 5 /* x1 */
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 4 /* x0 */
6: .line 40
iload 6 /* x2 */
iload 8 /* k */
ixor
iload 5 /* x1 */
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 6 /* x2 */
7: .line 41
iload 5 /* x1 */
iload 8 /* k */
ixor
iload 4 /* x0 */
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 5 /* x1 */
8: .line 42
iload 7 /* x3 */
iload 8 /* k */
ixor
iload 4 /* x0 */
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 7 /* x3 */
9: .line 43
aload 2 /* out */
iload 3 /* off */
iload 4 /* x0 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
10: .line 44
aload 2 /* out */
iload 3 /* off */
iconst_4
iadd
iload 5 /* x1 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
11: .line 45
aload 2 /* out */
iload 3 /* off */
bipush 8
iadd
iload 6 /* x2 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
12: .line 46
aload 2 /* out */
iload 3 /* off */
bipush 12
iadd
iload 7 /* x3 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
13: .line 47
return
end local 8 // int k
end local 7 // int x3
end local 6 // int x2
end local 5 // int x1
end local 4 // int x0
end local 3 // int off
end local 2 // byte[] out
end local 1 // byte[] in
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/security/Fog;
0 14 1 in [B
0 14 2 out [B
0 14 3 off I
1 14 4 x0 I
2 14 5 x1 I
3 14 6 x2 I
4 14 7 x3 I
5 14 8 k I
MethodParameters:
Name Flags
in
out
off
private void decryptBlock(byte[], byte[], int);
descriptor: ([B[BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=4
start local 0 // org.h2.security.Fog this
start local 1 // byte[] in
start local 2 // byte[] out
start local 3 // int off
0: .line 50
aload 1 /* in */
iload 3 /* off */
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 4 /* x0 */
start local 4 // int x0
1: .line 51
aload 1 /* in */
iload 3 /* off */
iconst_4
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 5 /* x1 */
start local 5 // int x1
2: .line 52
aload 1 /* in */
iload 3 /* off */
bipush 8
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 6 /* x2 */
start local 6 // int x2
3: .line 53
aload 1 /* in */
iload 3 /* off */
bipush 12
iadd
invokestatic org.h2.util.Bits.readInt:([BI)I
istore 7 /* x3 */
start local 7 // int x3
4: .line 54
aload 0 /* this */
getfield org.h2.security.Fog.key:I
istore 8 /* k */
start local 8 // int k
5: .line 55
iload 5 /* x1 */
iload 4 /* x0 */
invokestatic java.lang.Integer.rotateRight:(II)I
iload 8 /* k */
ixor
istore 5 /* x1 */
6: .line 56
iload 7 /* x3 */
iload 4 /* x0 */
invokestatic java.lang.Integer.rotateRight:(II)I
iload 8 /* k */
ixor
istore 7 /* x3 */
7: .line 57
iload 4 /* x0 */
iload 5 /* x1 */
invokestatic java.lang.Integer.rotateRight:(II)I
iload 8 /* k */
ixor
istore 4 /* x0 */
8: .line 58
iload 6 /* x2 */
iload 5 /* x1 */
invokestatic java.lang.Integer.rotateRight:(II)I
iload 8 /* k */
ixor
istore 6 /* x2 */
9: .line 59
aload 2 /* out */
iload 3 /* off */
iload 4 /* x0 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
10: .line 60
aload 2 /* out */
iload 3 /* off */
iconst_4
iadd
iload 5 /* x1 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
11: .line 61
aload 2 /* out */
iload 3 /* off */
bipush 8
iadd
iload 6 /* x2 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
12: .line 62
aload 2 /* out */
iload 3 /* off */
bipush 12
iadd
iload 7 /* x3 */
invokestatic org.h2.util.Bits.writeInt:([BII)V
13: .line 63
return
end local 8 // int k
end local 7 // int x3
end local 6 // int x2
end local 5 // int x1
end local 4 // int x0
end local 3 // int off
end local 2 // byte[] out
end local 1 // byte[] in
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/security/Fog;
0 14 1 in [B
0 14 2 out [B
0 14 3 off I
1 14 4 x0 I
2 14 5 x1 I
3 14 6 x2 I
4 14 7 x3 I
5 14 8 k I
MethodParameters:
Name Flags
in
out
off
public int getKeyLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.h2.security.Fog this
0: .line 67
bipush 16
ireturn
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/security/Fog;
public void setKey(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.h2.security.Fog this
start local 1 // byte[] key
0: .line 72
aload 0 /* this */
aload 1 /* key */
iconst_0
invokestatic org.h2.util.Bits.readLong:([BI)J
l2i
putfield org.h2.security.Fog.key:I
1: .line 73
return
end local 1 // byte[] key
end local 0 // org.h2.security.Fog this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/security/Fog;
0 2 1 key [B
MethodParameters:
Name Flags
key
}
SourceFile: "Fog.java"