public class org.bouncycastle.util.test.FixedSecureRandom extends java.security.SecureRandom
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.util.test.FixedSecureRandom
super_class: java.security.SecureRandom
{
private byte[] _data;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int _index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _intPad;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
iconst_1
anewarray byte[]
dup
iconst_0
aload 1
aastore
invokespecial org.bouncycastle.util.test.FixedSecureRandom.<init>:(Z[[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
0 2 1 value [B
MethodParameters:
Name Flags
value
public void <init>(byte[][]);
descriptor: ([[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
invokespecial org.bouncycastle.util.test.FixedSecureRandom.<init>:(Z[[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
0 2 1 values [[B
MethodParameters:
Name Flags
values
public void <init>(boolean, byte[]);
descriptor: (Z[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iconst_1
anewarray byte[]
dup
iconst_0
aload 2
aastore
invokespecial org.bouncycastle.util.test.FixedSecureRandom.<init>:(Z[[B)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
0 2 1 intPad Z
0 2 2 value [B
MethodParameters:
Name Flags
intPad
value
public void <init>(boolean, byte[][]);
descriptor: (Z[[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.security.SecureRandom.<init>:()V
1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 9
4: StackMap locals: org.bouncycastle.util.test.FixedSecureRandom int byte[][] java.io.ByteArrayOutputStream int
StackMap stack:
aload 3
aload 2
iload 4
aaload
invokevirtual java.io.ByteArrayOutputStream.write:([B)V
5: goto 8
6: StackMap locals:
StackMap stack: java.io.IOException
pop
7: new java.lang.IllegalArgumentException
dup
ldc "can't save value array."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 2
arraylength
if_icmpne 4
end local 4 10: aload 0
aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
putfield org.bouncycastle.util.test.FixedSecureRandom._data:[B
11: iload 1
ifeq 13
12: aload 0
aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._data:[B
arraylength
iconst_4
irem
putfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
0 14 1 intPad Z
0 14 2 values [[B
2 14 3 bOut Ljava/io/ByteArrayOutputStream;
3 10 4 i I
Exception table:
from to target type
4 5 6 Class java.io.IOException
MethodParameters:
Name Flags
intPad
values
public void nextBytes(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._data:[B
aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._index:I
aload 1
iconst_0
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: aload 0
dup
getfield org.bouncycastle.util.test.FixedSecureRandom._index:I
aload 1
arraylength
iadd
putfield org.bouncycastle.util.test.FixedSecureRandom._index:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
0 3 1 bytes [B
MethodParameters:
Name Flags
bytes
public int nextInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
bipush 24
ishl
ior
istore 1
2: iload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
bipush 16
ishl
ior
istore 1
3: aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
iconst_2
if_icmpne 6
4: aload 0
dup
getfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
iconst_1
isub
putfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
5: goto 7
6: StackMap locals: int
StackMap stack:
iload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
bipush 8
ishl
ior
istore 1
7: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
iconst_1
if_icmpne 10
8: aload 0
dup
getfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
iconst_1
isub
putfield org.bouncycastle.util.test.FixedSecureRandom._intPad:I
9: goto 11
10: StackMap locals:
StackMap stack:
iload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
ior
istore 1
11: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
1 12 1 val I
public long nextLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 56
lshl
lor
lstore 1
2: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 48
lshl
lor
lstore 1
3: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 40
lshl
lor
lstore 1
4: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 32
lshl
lor
lstore 1
5: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 24
lshl
lor
lstore 1
6: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 16
lshl
lor
lstore 1
7: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
bipush 8
lshl
lor
lstore 1
8: lload 1
aload 0
invokevirtual org.bouncycastle.util.test.FixedSecureRandom.nextValue:()I
i2l
lor
lstore 1
9: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
1 10 1 val J
public boolean isExhausted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._index:I
aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._data:[B
arraylength
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
private int nextValue();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.util.test.FixedSecureRandom._data:[B
aload 0
dup
getfield org.bouncycastle.util.test.FixedSecureRandom._index:I
dup_x1
iconst_1
iadd
putfield org.bouncycastle.util.test.FixedSecureRandom._index:I
baload
sipush 255
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/util/test/FixedSecureRandom;
}
SourceFile: "FixedSecureRandom.java"