public class sun.security.provider.CtrDrbg extends sun.security.provider.AbstractDrbg
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.provider.CtrDrbg
super_class: sun.security.provider.AbstractDrbg
{
private static final int AES_LIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private javax.crypto.Cipher cipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0002) ACC_PRIVATE
private java.lang.String cipherAlg;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyAlg;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int ctrLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int blockLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int keyLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int seedLen;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] v;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] k;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc "AES"
invokestatic javax.crypto.Cipher.getMaxAllowedKeyLength:(Ljava/lang/String;)I
putstatic sun.security.provider.CtrDrbg.AES_LIMIT:I
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 0
start local 0 3: new java.lang.AssertionError
dup
ldc "Cannot detect AES"
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 0 4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
3 4 0 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
public void <init>(java.security.SecureRandomParameters);
descriptor: (Ljava/security/SecureRandomParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial sun.security.provider.AbstractDrbg.<init>:()V
1: aload 0
ldc "CTR_DRBG"
putfield sun.security.provider.CtrDrbg.mechName:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual sun.security.provider.CtrDrbg.configure:(Ljava/security/SecureRandomParameters;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/CtrDrbg;
0 4 1 params Ljava/security/SecureRandomParameters;
MethodParameters:
Name Flags
params
private static int alg2strength(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-388349927: 1
-388349716: 2
-388348875: 3
default: 7
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "AES-128"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 7
StackMap locals:
StackMap stack:
2: aload 1
ldc "AES-192"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 7
StackMap locals:
StackMap stack:
3: aload 1
ldc "AES-256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 7
4: StackMap locals:
StackMap stack:
sipush 128
ireturn
5: StackMap locals:
StackMap stack:
sipush 192
ireturn
6: StackMap locals:
StackMap stack:
sipush 256
ireturn
7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: ldc " not supported in CTR_DBRG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 algorithm Ljava/lang/String;
MethodParameters:
Name Flags
algorithm
protected void chooseAlgorithmAndStrength();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.CtrDrbg.requestedAlgorithm:Ljava/lang/String;
ifnull 18
1: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.requestedAlgorithm:Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
2: aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic sun.security.provider.CtrDrbg.alg2strength:(Ljava/lang/String;)I
istore 1
start local 1 3: aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
iflt 13
4: aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
5: invokestatic sun.security.provider.CtrDrbg.getStandardStrength:(I)I
istore 2
start local 2 6: iload 2
iload 1
if_icmple 11
7: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: ldc " does not support strength "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: int int
StackMap stack:
aload 0
iload 2
putfield sun.security.provider.CtrDrbg.securityStrength:I
end local 2 12: goto 33
13: StackMap locals:
StackMap stack:
aload 0
sipush 128
iload 1
if_icmple 15
14: iload 1
goto 16
StackMap locals:
StackMap stack: sun.security.provider.CtrDrbg
15: sipush 128
16: StackMap locals: sun.security.provider.CtrDrbg int
StackMap stack: sun.security.provider.CtrDrbg int
putfield sun.security.provider.CtrDrbg.securityStrength:I
end local 1 17: goto 33
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
ifge 20
19: sipush 128
goto 21
StackMap locals:
StackMap stack:
20: aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
21: StackMap locals:
StackMap stack: int
istore 1
start local 1 22: iload 1
invokestatic sun.security.provider.CtrDrbg.getStandardStrength:(I)I
istore 1
23: iload 1
sipush 128
if_icmpgt 26
getstatic sun.security.provider.CtrDrbg.AES_LIMIT:I
sipush 256
if_icmpge 26
24: aload 0
ldc "AES-128"
putfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
25: goto 32
StackMap locals: int
StackMap stack:
26: getstatic sun.security.provider.CtrDrbg.AES_LIMIT:I
sipush 256
if_icmplt 29
27: aload 0
ldc "AES-256"
putfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
28: goto 32
29: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "unsupported strength "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 0
getfield sun.security.provider.CtrDrbg.requestedInstantiationSecurityStrength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.security.provider.CtrDrbg.securityStrength:I
end local 1 33: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-388349927: 34
-388349716: 35
-388348875: 36
default: 60
}
StackMap locals: java.lang.String
StackMap stack:
34: aload 1
ldc "AES-128"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 60
StackMap locals:
StackMap stack:
35: aload 1
ldc "AES-192"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 60
StackMap locals:
StackMap stack:
36: aload 1
ldc "AES-256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
goto 60
37: StackMap locals:
StackMap stack:
aload 0
ldc "AES"
putfield sun.security.provider.CtrDrbg.keyAlg:Ljava/lang/String;
38: aload 0
ldc "AES/ECB/NoPadding"
putfield sun.security.provider.CtrDrbg.cipherAlg:Ljava/lang/String;
39: aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
dup
astore 2
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-388349927: 40
-388349716: 41
-388348875: 42
default: 55
}
StackMap locals: java.lang.String
StackMap stack:
40: aload 2
ldc "AES-128"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
goto 55
StackMap locals:
StackMap stack:
41: aload 2
ldc "AES-192"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 45
goto 55
StackMap locals:
StackMap stack:
42: aload 2
ldc "AES-256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 50
goto 55
43: StackMap locals:
StackMap stack:
aload 0
bipush 16
putfield sun.security.provider.CtrDrbg.keyLen:I
44: goto 58
45: StackMap locals:
StackMap stack:
aload 0
bipush 24
putfield sun.security.provider.CtrDrbg.keyLen:I
46: getstatic sun.security.provider.CtrDrbg.AES_LIMIT:I
sipush 192
if_icmpge 58
47: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: ldc " not available (because policy) in CTR_DBRG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 0
bipush 32
putfield sun.security.provider.CtrDrbg.keyLen:I
51: getstatic sun.security.provider.CtrDrbg.AES_LIMIT:I
sipush 256
if_icmpge 58
52: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
53: ldc " not available (because policy) in CTR_DBRG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
54: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
56: ldc " not supported in CTR_DBRG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
57: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
58: StackMap locals:
StackMap stack:
aload 0
bipush 16
putfield sun.security.provider.CtrDrbg.blockLen:I
59: goto 63
60: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.provider.CtrDrbg.algorithm:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
61: ldc " not supported in CTR_DBRG"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
62: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
iadd
putfield sun.security.provider.CtrDrbg.seedLen:I
64: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
putfield sun.security.provider.CtrDrbg.ctrLen:I
65: aload 0
getfield sun.security.provider.CtrDrbg.usedf:Z
ifeq 68
66: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.securityStrength:I
bipush 8
idiv
putfield sun.security.provider.CtrDrbg.minLength:I
67: goto 73
68: StackMap locals:
StackMap stack:
aload 0
aload 0
69: aload 0
70: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
dup_x1
putfield sun.security.provider.CtrDrbg.maxAdditionalInputLength:I
71: dup_x1
putfield sun.security.provider.CtrDrbg.maxPersonalizationStringLength:I
72: dup_x1
putfield sun.security.provider.CtrDrbg.maxLength:I
putfield sun.security.provider.CtrDrbg.minLength:I
73: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 74 0 this Lsun/security/provider/CtrDrbg;
3 17 1 supportedStrength I
6 12 2 tryStrength I
22 33 1 tryStrength I
protected void initEngine();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.cipherAlg:Ljava/lang/String;
ldc "SunJCE"
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Cipher;
putfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
1: goto 9
2: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
pop
3: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.cipherAlg:Ljava/lang/String;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
putfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
4: goto 9
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
5: astore 1
start local 1 6: new java.lang.InternalError
dup
7: new java.lang.StringBuilder
dup
ldc "internal error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.CtrDrbg.cipherAlg:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not available."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
8: invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/provider/CtrDrbg;
6 9 1 exc Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 1 2 Class java.security.NoSuchProviderException
0 1 2 Class java.security.NoSuchAlgorithmException
0 1 2 Class javax.crypto.NoSuchPaddingException
3 4 5 Class java.security.NoSuchAlgorithmException
3 4 5 Class javax.crypto.NoSuchPaddingException
private void status();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
ifnull 4
1: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
aload 0
new java.lang.StringBuilder
dup
ldc "Key = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.CtrDrbg.k:[B
invokestatic sun.security.provider.CtrDrbg.hex:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/Object;Ljava/lang/String;)V
2: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
aload 0
new java.lang.StringBuilder
dup
ldc "V = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
invokestatic sun.security.provider.CtrDrbg.hex:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/Object;Ljava/lang/String;)V
3: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
aload 0
new java.lang.StringBuilder
dup
ldc "reseed counter = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.CtrDrbg.reseedCounter:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/Object;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/CtrDrbg;
private void update(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
if_icmpeq 4
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "input length not seedLen: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 1
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iadd
iconst_1
isub
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
idiv
istore 2
start local 2 5: iload 2
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
imul
newarray 8
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 12
8: StackMap locals: int byte[] int
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
aload 0
getfield sun.security.provider.CtrDrbg.ctrLen:I
invokestatic sun.security.provider.CtrDrbg.addOne:([BI)V
9: aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
iconst_1
new javax.crypto.spec.SecretKeySpec
dup
aload 0
getfield sun.security.provider.CtrDrbg.k:[B
aload 0
getfield sun.security.provider.CtrDrbg.keyAlg:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
10: aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
iconst_0
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
aload 3
iload 4
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
imul
invokevirtual javax.crypto.Cipher.doFinal:([BII[BI)I
pop
11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 2
if_icmplt 8
end local 4 13: aload 3
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 3
14: iconst_0
istore 4
start local 4 15: goto 18
16: StackMap locals:
StackMap stack:
aload 3
iload 4
dup2
baload
aload 1
iload 4
baload
ixor
i2b
bastore
17: iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
if_icmplt 16
end local 4 19: aload 0
aload 3
aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
invokestatic java.util.Arrays.copyOf:([BI)[B
putfield sun.security.provider.CtrDrbg.k:[B
20: aload 0
aload 3
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
isub
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
invokestatic java.util.Arrays.copyOfRange:([BII)[B
putfield sun.security.provider.CtrDrbg.v:[B
end local 3 end local 2 21: goto 24
StackMap locals: sun.security.provider.CtrDrbg byte[]
StackMap stack: java.security.GeneralSecurityException
22: astore 2
start local 2 23: new java.lang.InternalError
dup
aload 2
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 24: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/provider/CtrDrbg;
0 25 1 input [B
5 21 2 m I
6 21 3 temp [B
7 13 4 i I
15 19 4 i I
23 24 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
4 21 22 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
input
protected void instantiateAlgorithm(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
aload 0
ldc "instantiate"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/Object;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.usedf:Z
ifeq 16
3: aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
ifnonnull 6
4: aload 0
getfield sun.security.provider.CtrDrbg.nonce:[B
astore 2
start local 2 5: goto 17
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.nonce:[B
arraylength
aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
arraylength
iadd
ifge 10
7: new java.lang.IllegalArgumentException
dup
8: ldc "nonce plus personalization string is too long"
9: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.nonce:[B
aload 0
getfield sun.security.provider.CtrDrbg.nonce:[B
arraylength
aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
arraylength
iadd
11: invokestatic java.util.Arrays.copyOf:([BI)[B
astore 2
start local 2 12: aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
iconst_0
aload 2
aload 0
getfield sun.security.provider.CtrDrbg.nonce:[B
arraylength
13: aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
arraylength
14: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: goto 17
end local 2 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.personalizationString:[B
astore 2
start local 2 17: StackMap locals: byte[]
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.security.provider.CtrDrbg.reseedAlgorithm:([B[B)V
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/provider/CtrDrbg;
0 19 1 ei [B
5 6 2 more [B
12 16 2 more [B
17 19 2 more [B
MethodParameters:
Name Flags
ei
private byte[] df(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=2
start local 0 start local 1 0: aload 1
arraylength
istore 2
start local 2 1: aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
istore 3
start local 3 2: bipush 8
newarray 8
astore 4
start local 4 3: aload 4
iconst_0
iload 2
bipush 24
ishr
i2b
bastore
4: aload 4
iconst_1
iload 2
bipush 16
ishr
i2b
bastore
5: aload 4
iconst_2
iload 2
bipush 8
ishr
i2b
bastore
6: aload 4
iconst_3
iload 2
i2b
bastore
7: aload 4
iconst_4
iload 3
bipush 24
ishr
i2b
bastore
8: aload 4
iconst_5
iload 3
bipush 16
ishr
i2b
bastore
9: aload 4
bipush 6
iload 3
bipush 8
ishr
i2b
bastore
10: aload 4
bipush 7
iload 3
i2b
bastore
11: aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
newarray 8
astore 5
start local 5 12: iconst_0
istore 6
start local 6 13: goto 16
14: StackMap locals: sun.security.provider.CtrDrbg byte[] int int byte[] byte[] int
StackMap stack:
aload 5
iload 6
iload 6
i2b
bastore
15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
aload 5
arraylength
if_icmplt 14
end local 6 17: aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
newarray 8
astore 6
start local 6 18: iconst_0
istore 7
start local 7 19: goto 32
20: StackMap locals: sun.security.provider.CtrDrbg byte[] int int byte[] byte[] byte[] int
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
newarray 8
astore 8
start local 8 21: aload 8
iconst_0
iload 7
bipush 24
ishr
i2b
bastore
22: aload 8
iconst_1
iload 7
bipush 16
ishr
i2b
bastore
23: aload 8
iconst_2
iload 7
bipush 8
ishr
i2b
bastore
24: aload 8
iconst_3
iload 7
i2b
bastore
25: aload 6
arraylength
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iload 7
imul
isub
istore 9
start local 9 26: iload 9
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
if_icmple 28
27: aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
istore 9
28: StackMap locals: byte[] int
StackMap stack:
aload 0
aload 5
iconst_4
anewarray byte[]
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
iconst_1
newarray 8
dup
iconst_0
bipush -128
bastore
aastore
invokevirtual sun.security.provider.CtrDrbg.bcc:([B[[B)[B
29: iconst_0
aload 6
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iload 7
imul
iload 9
30: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 9 end local 8 31: iinc 7 1
StackMap locals:
StackMap stack:
32: iload 7
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
imul
aload 6
arraylength
if_icmplt 20
end local 7 33: aload 6
aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 5
34: aload 6
aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
aload 6
arraylength
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 7
start local 7 35: iconst_0
istore 8
start local 8 36: goto 47
37: StackMap locals: sun.security.provider.CtrDrbg byte[] int int byte[] byte[] byte[] byte[] int
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
iconst_1
new javax.crypto.spec.SecretKeySpec
dup
aload 5
aload 0
getfield sun.security.provider.CtrDrbg.keyAlg:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
38: aload 6
arraylength
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iload 8
imul
isub
istore 9
start local 9 39: iload 9
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
if_icmple 41
40: aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
istore 9
41: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
aload 7
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 7
42: aload 7
iconst_0
aload 6
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iload 8
imul
iload 9
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 9 43: goto 46
StackMap locals: sun.security.provider.CtrDrbg byte[] int int byte[] byte[] byte[] byte[] int
StackMap stack: java.security.GeneralSecurityException
44: astore 9
start local 9 45: new java.lang.InternalError
dup
aload 9
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 9 46: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
47: iload 8
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
imul
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
if_icmplt 37
end local 8 48: aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/provider/CtrDrbg;
0 49 1 input [B
1 49 2 l I
2 49 3 n I
3 49 4 ln [B
12 49 5 k [B
13 17 6 i I
18 49 6 temp [B
19 33 7 i I
21 31 8 iv [B
26 31 9 tailLen I
35 49 7 x [B
36 48 8 i I
39 43 9 tailLen I
45 46 9 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
37 43 44 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
input
private byte[] bcc(byte[], byte[][]);
descriptor: ([B[[B)[B
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
newarray 8
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 22
4: StackMap locals: byte[] int int
StackMap stack:
iconst_0
istore 6
start local 6 5: goto 14
6: StackMap locals: int
StackMap stack:
iinc 4 1
7: iload 4
aload 2
arraylength
if_icmplt 9
8: goto 15
9: StackMap locals:
StackMap stack:
iconst_0
istore 5
10: StackMap locals:
StackMap stack:
iload 5
aload 2
iload 4
aaload
arraylength
if_icmpge 6
11: aload 3
iload 6
dup2
baload
aload 2
iload 4
aaload
iload 5
baload
ixor
i2b
bastore
12: iinc 5 1
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
if_icmplt 10
15: StackMap locals:
StackMap stack:
iload 6
ifne 17
16: goto 23
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
iconst_1
new javax.crypto.spec.SecretKeySpec
dup
aload 1
aload 0
getfield sun.security.provider.CtrDrbg.keyAlg:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
18: aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
aload 3
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 3
19: goto 22
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
20: astore 7
start local 7 21: new java.lang.InternalError
dup
aload 7
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 end local 6 22: StackMap locals:
StackMap stack:
iload 4
aload 2
arraylength
if_icmplt 4
23: StackMap locals:
StackMap stack:
aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/provider/CtrDrbg;
0 24 1 k [B
0 24 2 data [[B
1 24 3 chain [B
2 24 4 n1 I
3 24 5 n2 I
5 22 6 j I
21 22 7 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
17 19 20 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
k
data
protected synchronized void reseedAlgorithm(byte[], byte[]);
descriptor: ([B[B)V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.CtrDrbg.usedf:Z
ifeq 14
1: aload 2
ifnull 12
2: aload 1
arraylength
aload 2
arraylength
iadd
ifge 6
3: new java.lang.IllegalArgumentException
dup
4: ldc "entropy plus additional input is too long"
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
aload 1
arraylength
aload 2
arraylength
iadd
7: invokestatic java.util.Arrays.copyOf:([BI)[B
astore 3
start local 3 8: aload 2
iconst_0
aload 3
aload 1
arraylength
9: aload 2
arraylength
10: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 3
astore 1
end local 3 12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.provider.CtrDrbg.df:([B)[B
astore 1
13: goto 20
14: StackMap locals:
StackMap stack:
aload 2
ifnull 20
15: iconst_0
istore 3
start local 3 16: goto 19
17: StackMap locals: int
StackMap stack:
aload 1
iload 3
dup2
baload
aload 2
iload 3
baload
ixor
i2b
bastore
18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 2
arraylength
if_icmplt 17
end local 3 20: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
ifnonnull 23
21: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.keyLen:I
newarray 8
putfield sun.security.provider.CtrDrbg.k:[B
22: aload 0
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
newarray 8
putfield sun.security.provider.CtrDrbg.v:[B
23: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.provider.CtrDrbg.update:([B)V
24: aload 0
iconst_1
putfield sun.security.provider.CtrDrbg.reseedCounter:I
25: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/provider/CtrDrbg;
0 26 1 ei [B
0 26 2 additionalInput [B
8 12 3 temp [B
16 20 3 i I
MethodParameters:
Name Flags
ei
additionalInput
private static void addOne(byte[], int);
descriptor: ([BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
arraylength
iconst_1
isub
iload 2
isub
dup2
baload
iconst_1
iadd
i2b
bastore
3: aload 0
aload 0
arraylength
iconst_1
isub
iload 2
isub
baload
ifeq 5
4: goto 7
5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 1
if_icmplt 2
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 data [B
0 8 1 len I
1 7 2 i I
MethodParameters:
Name Flags
data
len
public synchronized void generateAlgorithm(byte[], byte[]);
descriptor: ([B[B)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.CtrDrbg.debug:Lsun/security/util/Debug;
aload 0
ldc "generateAlgorithm"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/Object;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 2
ifnull 9
3: aload 0
getfield sun.security.provider.CtrDrbg.usedf:Z
ifeq 6
4: aload 0
aload 2
invokevirtual sun.security.provider.CtrDrbg.df:([B)[B
astore 2
5: goto 7
6: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 2
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.provider.CtrDrbg.update:([B)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.seedLen:I
newarray 8
astore 2
10: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 11: aload 1
arraylength
istore 4
start local 4 12: goto 27
13: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
aload 0
getfield sun.security.provider.CtrDrbg.ctrLen:I
invokestatic sun.security.provider.CtrDrbg.addOne:([BI)V
14: aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
iconst_1
new javax.crypto.spec.SecretKeySpec
dup
aload 0
getfield sun.security.provider.CtrDrbg.k:[B
aload 0
getfield sun.security.provider.CtrDrbg.keyAlg:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
15: aload 0
getfield sun.security.provider.CtrDrbg.cipher:Ljavax/crypto/Cipher;
aload 0
getfield sun.security.provider.CtrDrbg.v:[B
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 5
start local 5 16: aload 5
iconst_0
aload 1
iload 3
17: iload 4
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
if_icmple 18
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
goto 19
StackMap locals: sun.security.provider.CtrDrbg byte[] byte[] int int byte[]
StackMap stack: byte[] int byte[] int
18: iload 4
19: StackMap locals: sun.security.provider.CtrDrbg byte[] byte[] int int byte[]
StackMap stack: byte[] int byte[] int int
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 20: goto 23
StackMap locals: sun.security.provider.CtrDrbg byte[] byte[] int int
StackMap stack: java.security.GeneralSecurityException
21: astore 5
start local 5 22: new java.lang.InternalError
dup
aload 5
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 23: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
isub
istore 4
24: iload 4
ifgt 26
25: goto 28
26: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield sun.security.provider.CtrDrbg.blockLen:I
iadd
istore 3
27: StackMap locals:
StackMap stack:
iload 4
ifgt 13
28: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.provider.CtrDrbg.update:([B)V
29: aload 0
dup
getfield sun.security.provider.CtrDrbg.reseedCounter:I
iconst_1
iadd
putfield sun.security.provider.CtrDrbg.reseedCounter:I
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/provider/CtrDrbg;
0 31 1 result [B
0 31 2 additionalInput [B
11 31 3 pos I
12 31 4 len I
16 20 5 out [B
22 23 5 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
14 20 21 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
result
additionalInput
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial sun.security.provider.AbstractDrbg.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: aload 0
getfield sun.security.provider.CtrDrbg.usedf:Z
ifeq 2
ldc "use_df"
goto 3
StackMap locals:
StackMap stack: java.lang.StringBuilder
2: ldc "no_df"
StackMap locals: sun.security.provider.CtrDrbg
StackMap stack: java.lang.StringBuilder java.lang.String
3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/CtrDrbg;
}
SourceFile: "CtrDrbg.java"