public class org.bouncycastle.crypto.CipherKeyGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.crypto.CipherKeyGenerator
  super_class: java.lang.Object
{
  protected java.security.SecureRandom random;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0004) ACC_PROTECTED

  protected int strength;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
         0: .line 8
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/crypto/CipherKeyGenerator;

  public void init(org.bouncycastle.crypto.KeyGenerationParameters);
    descriptor: (Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
        start local 1 // org.bouncycastle.crypto.KeyGenerationParameters param
         0: .line 21
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual org.bouncycastle.crypto.KeyGenerationParameters.getRandom:()Ljava/security/SecureRandom;
            putfield org.bouncycastle.crypto.CipherKeyGenerator.random:Ljava/security/SecureRandom;
         1: .line 22
            aload 0 /* this */
            aload 1 /* param */
            invokevirtual org.bouncycastle.crypto.KeyGenerationParameters.getStrength:()I
            bipush 7
            iadd
            bipush 8
            idiv
            putfield org.bouncycastle.crypto.CipherKeyGenerator.strength:I
         2: .line 23
            return
        end local 1 // org.bouncycastle.crypto.KeyGenerationParameters param
        end local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/bouncycastle/crypto/CipherKeyGenerator;
            0    3     1  param  Lorg/bouncycastle/crypto/KeyGenerationParameters;
    MethodParameters:
       Name  Flags
      param  

  public byte[] generateKey();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
         0: .line 32
            aload 0 /* this */
            getfield org.bouncycastle.crypto.CipherKeyGenerator.strength:I
            newarray 8
            astore 1 /* key */
        start local 1 // byte[] key
         1: .line 34
            aload 0 /* this */
            getfield org.bouncycastle.crypto.CipherKeyGenerator.random:Ljava/security/SecureRandom;
            aload 1 /* key */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         2: .line 36
            aload 1 /* key */
            areturn
        end local 1 // byte[] key
        end local 0 // org.bouncycastle.crypto.CipherKeyGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/crypto/CipherKeyGenerator;
            1    3     1   key  [B
}
SourceFile: "CipherKeyGenerator.java"