public class org.sonatype.plexus.components.cipher.PBECipher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.sonatype.plexus.components.cipher.PBECipher
  super_class: java.lang.Object
{
  protected static final java.lang.String STRING_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "UTF8"

  protected static final int SPICE_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  protected static final int SALT_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  protected static final int CHUNK_SIZE;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  protected static final byte WIPER;
    descriptor: B
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final java.lang.String DIGEST_ALG;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "SHA-256"

  protected static final java.lang.String KEY_ALG;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "AES"

  protected static final java.lang.String CIPHER_ALG;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "AES/CBC/PKCS5Padding"

  protected static int PBE_ITERATIONS;
    descriptor: I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  protected java.security.MessageDigest _digester;
    descriptor: Ljava/security/MessageDigest;
    flags: (0x0004) ACC_PROTECTED

  protected java.security.SecureRandom _secureRandom;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0004) ACC_PROTECTED

  protected boolean _onLinux;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            sipush 1000
            putstatic org.sonatype.plexus.components.cipher.PBECipher.PBE_ITERATIONS:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.sonatype.plexus.components.cipher.PBECipher this
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            iconst_0
            putfield org.sonatype.plexus.components.cipher.PBECipher._onLinux:Z
         2: .line 75
            aload 0 /* this */
            ldc "SHA-256"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            putfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
         3: .line 77
            ldc "os.name"
            ldc "blah"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "linux"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 5
         4: .line 79
            aload 0 /* this */
            iconst_1
            putfield org.sonatype.plexus.components.cipher.PBECipher._onLinux:Z
         5: .line 82
      StackMap locals: org.sonatype.plexus.components.cipher.PBECipher
      StackMap stack:
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._onLinux:Z
            ifeq 8
         6: .line 84
            ldc "securerandom.source"
            ldc "file:/dev/./urandom"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         7: .line 85
            goto 12
         8: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putfield org.sonatype.plexus.components.cipher.PBECipher._secureRandom:Ljava/security/SecureRandom;
         9: .line 91
            goto 12
        10: .line 92
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 1 /* e */
        start local 1 // java.security.NoSuchAlgorithmException e
        11: .line 94
            new org.sonatype.plexus.components.cipher.PlexusCipherException
            dup
            aload 1 /* e */
            invokespecial org.sonatype.plexus.components.cipher.PlexusCipherException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.security.NoSuchAlgorithmException e
        12: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.sonatype.plexus.components.cipher.PBECipher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/sonatype/plexus/components/cipher/PBECipher;
           11   12     1     e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           2     9      10  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws org.sonatype.plexus.components.cipher.PlexusCipherException

  private byte[] getSalt(int);
    descriptor: (I)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.sonatype.plexus.components.cipher.PBECipher this
        start local 1 // int sz
         0: .line 101
            aconst_null
            astore 2 /* res */
        start local 2 // byte[] res
         1: .line 103
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._secureRandom:Ljava/security/SecureRandom;
            ifnull 5
         2: .line 105
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._secureRandom:Ljava/security/SecureRandom;
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.security.SecureRandom.setSeed:(J)V
         3: .line 106
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._secureRandom:Ljava/security/SecureRandom;
            iload 1 /* sz */
            invokevirtual java.security.SecureRandom.generateSeed:(I)[B
            astore 2 /* res */
         4: .line 107
            goto 8
         5: .line 110
      StackMap locals: byte[]
      StackMap stack:
            iload 1 /* sz */
            newarray 8
            astore 2 /* res */
         6: .line 111
            new java.util.Random
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Random.<init>:(J)V
            astore 3 /* r */
        start local 3 // java.util.Random r
         7: .line 112
            aload 3 /* r */
            aload 2 /* res */
            invokevirtual java.util.Random.nextBytes:([B)V
        end local 3 // java.util.Random r
         8: .line 115
      StackMap locals:
      StackMap stack:
            aload 2 /* res */
            areturn
        end local 2 // byte[] res
        end local 1 // int sz
        end local 0 // org.sonatype.plexus.components.cipher.PBECipher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/sonatype/plexus/components/cipher/PBECipher;
            0    9     1    sz  I
            1    9     2   res  [B
            7    8     3     r  Ljava/util/Random;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
    MethodParameters:
      Name  Flags
      sz    final

  public java.lang.String encrypt64(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.sonatype.plexus.components.cipher.PBECipher this
        start local 1 // java.lang.String clearText
        start local 2 // java.lang.String password
         0: .line 123
            aload 1 /* clearText */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* clearBytes */
        start local 3 // byte[] clearBytes
         1: .line 125
            aload 0 /* this */
            bipush 8
            invokevirtual org.sonatype.plexus.components.cipher.PBECipher.getSalt:(I)[B
            astore 4 /* salt */
        start local 4 // byte[] salt
         2: .line 128
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._secureRandom:Ljava/security/SecureRandom;
            ifnull 4
         3: .line 130
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            aload 4 /* salt */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         4: .line 133
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* password */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            aload 4 /* salt */
            iconst_1
            invokevirtual org.sonatype.plexus.components.cipher.PBECipher.createCipher:([B[BI)Ljavax/crypto/Cipher;
            astore 5 /* cipher */
        start local 5 // javax.crypto.Cipher cipher
         5: .line 135
            aload 5 /* cipher */
            aload 3 /* clearBytes */
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 6 /* encryptedBytes */
        start local 6 // byte[] encryptedBytes
         6: .line 137
            aload 6 /* encryptedBytes */
            arraylength
            istore 7 /* len */
        start local 7 // int len
         7: .line 139
            bipush 16
            bipush 8
            iload 7 /* len */
            iadd
            iconst_1
            iadd
            bipush 16
            irem
            isub
            i2b
            istore 8 /* padLen */
        start local 8 // byte padLen
         8: .line 141
            bipush 8
            iload 7 /* len */
            iadd
            iload 8 /* padLen */
            iadd
            iconst_1
            iadd
            istore 9 /* totalLen */
        start local 9 // int totalLen
         9: .line 143
            aload 0 /* this */
            iload 9 /* totalLen */
            invokevirtual org.sonatype.plexus.components.cipher.PBECipher.getSalt:(I)[B
            astore 10 /* allEncryptedBytes */
        start local 10 // byte[] allEncryptedBytes
        10: .line 145
            aload 4 /* salt */
            iconst_0
            aload 10 /* allEncryptedBytes */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 147
            aload 10 /* allEncryptedBytes */
            bipush 8
            iload 8 /* padLen */
            bastore
        12: .line 149
            aload 6 /* encryptedBytes */
            iconst_0
            aload 10 /* allEncryptedBytes */
            bipush 9
            iload 7 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 151
            aload 10 /* allEncryptedBytes */
            invokestatic org.sonatype.plexus.components.cipher.Base64.encodeBase64:([B)[B
            astore 11 /* encryptedTextBytes */
        start local 11 // byte[] encryptedTextBytes
        14: .line 153
            new java.lang.String
            dup
            aload 11 /* encryptedTextBytes */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 12 /* encryptedText */
        start local 12 // java.lang.String encryptedText
        15: .line 155
            aload 12 /* encryptedText */
        16: areturn
        end local 12 // java.lang.String encryptedText
        end local 11 // byte[] encryptedTextBytes
        end local 10 // byte[] allEncryptedBytes
        end local 9 // int totalLen
        end local 8 // byte padLen
        end local 7 // int len
        end local 6 // byte[] encryptedBytes
        end local 5 // javax.crypto.Cipher cipher
        end local 4 // byte[] salt
        end local 3 // byte[] clearBytes
        17: .line 157
      StackMap locals: org.sonatype.plexus.components.cipher.PBECipher java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        18: .line 159
            new org.sonatype.plexus.components.cipher.PlexusCipherException
            dup
            aload 3 /* e */
            invokespecial org.sonatype.plexus.components.cipher.PlexusCipherException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.String password
        end local 1 // java.lang.String clearText
        end local 0 // org.sonatype.plexus.components.cipher.PBECipher this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                this  Lorg/sonatype/plexus/components/cipher/PBECipher;
            0   19     1           clearText  Ljava/lang/String;
            0   19     2            password  Ljava/lang/String;
            1   17     3          clearBytes  [B
            2   17     4                salt  [B
            5   17     5              cipher  Ljavax/crypto/Cipher;
            6   17     6      encryptedBytes  [B
            7   17     7                 len  I
            8   17     8              padLen  B
            9   17     9            totalLen  I
           10   17    10   allEncryptedBytes  [B
           14   17    11  encryptedTextBytes  [B
           15   17    12       encryptedText  Ljava/lang/String;
           18   19     3                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    16      17  Class java.lang.Exception
    Exceptions:
      throws org.sonatype.plexus.components.cipher.PlexusCipherException
    MethodParameters:
           Name  Flags
      clearText  final
      password   final

  public java.lang.String decrypt64(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.sonatype.plexus.components.cipher.PBECipher this
        start local 1 // java.lang.String encryptedText
        start local 2 // java.lang.String password
         0: .line 169
            aload 1 /* encryptedText */
            invokevirtual java.lang.String.getBytes:()[B
            invokestatic org.sonatype.plexus.components.cipher.Base64.decodeBase64:([B)[B
            astore 3 /* allEncryptedBytes */
        start local 3 // byte[] allEncryptedBytes
         1: .line 171
            aload 3 /* allEncryptedBytes */
            arraylength
            istore 4 /* totalLen */
        start local 4 // int totalLen
         2: .line 173
            bipush 8
            newarray 8
            astore 5 /* salt */
        start local 5 // byte[] salt
         3: .line 175
            aload 3 /* allEncryptedBytes */
            iconst_0
            aload 5 /* salt */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 177
            aload 3 /* allEncryptedBytes */
            bipush 8
            baload
            istore 6 /* padLen */
        start local 6 // byte padLen
         5: .line 179
            iload 4 /* totalLen */
            bipush 8
            isub
            iconst_1
            isub
            iload 6 /* padLen */
            isub
            newarray 8
            astore 7 /* encryptedBytes */
        start local 7 // byte[] encryptedBytes
         6: .line 181
            aload 3 /* allEncryptedBytes */
            bipush 9
            aload 7 /* encryptedBytes */
            iconst_0
            aload 7 /* encryptedBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 183
            aload 0 /* this */
            aload 2 /* password */
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            aload 5 /* salt */
            iconst_2
            invokevirtual org.sonatype.plexus.components.cipher.PBECipher.createCipher:([B[BI)Ljavax/crypto/Cipher;
            astore 8 /* cipher */
        start local 8 // javax.crypto.Cipher cipher
         8: .line 185
            aload 8 /* cipher */
            aload 7 /* encryptedBytes */
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 9 /* clearBytes */
        start local 9 // byte[] clearBytes
         9: .line 187
            new java.lang.String
            dup
            aload 9 /* clearBytes */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 10 /* clearText */
        start local 10 // java.lang.String clearText
        10: .line 189
            aload 10 /* clearText */
        11: areturn
        end local 10 // java.lang.String clearText
        end local 9 // byte[] clearBytes
        end local 8 // javax.crypto.Cipher cipher
        end local 7 // byte[] encryptedBytes
        end local 6 // byte padLen
        end local 5 // byte[] salt
        end local 4 // int totalLen
        end local 3 // byte[] allEncryptedBytes
        12: .line 191
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        13: .line 193
            new org.sonatype.plexus.components.cipher.PlexusCipherException
            dup
            aload 3 /* e */
            invokespecial org.sonatype.plexus.components.cipher.PlexusCipherException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // java.lang.String password
        end local 1 // java.lang.String encryptedText
        end local 0 // org.sonatype.plexus.components.cipher.PBECipher this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/sonatype/plexus/components/cipher/PBECipher;
            0   14     1      encryptedText  Ljava/lang/String;
            0   14     2           password  Ljava/lang/String;
            1   12     3  allEncryptedBytes  [B
            2   12     4           totalLen  I
            3   12     5               salt  [B
            5   12     6             padLen  B
            6   12     7     encryptedBytes  [B
            8   12     8             cipher  Ljavax/crypto/Cipher;
            9   12     9         clearBytes  [B
           10   12    10          clearText  Ljava/lang/String;
           13   14     3                  e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.Exception
    Exceptions:
      throws org.sonatype.plexus.components.cipher.PlexusCipherException
    MethodParameters:
               Name  Flags
      encryptedText  final
      password       final

  private javax.crypto.Cipher createCipher(byte[], byte[], int);
    descriptor: ([B[BI)Ljavax/crypto/Cipher;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.sonatype.plexus.components.cipher.PBECipher this
        start local 1 // byte[] pwdAsBytes
        start local 2 // byte[] salt
        start local 3 // int mode
         0: .line 200
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.reset:()V
         1: .line 202
            bipush 32
            newarray 8
            astore 4 /* keyAndIv */
        start local 4 // byte[] keyAndIv
         2: .line 204
            aload 2 /* salt */
            ifnull 3
            aload 2 /* salt */
            arraylength
            ifne 4
         3: .line 207
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            astore 2 /* salt */
         4: .line 212
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* currentPos */
        start local 6 // int currentPos
         5: .line 214
            goto 20
         6: .line 216
      StackMap locals: org.sonatype.plexus.components.cipher.PBECipher byte[] byte[] int byte[] top int
      StackMap stack:
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            aload 1 /* pwdAsBytes */
            invokevirtual java.security.MessageDigest.update:([B)V
         7: .line 218
            aload 2 /* salt */
            ifnull 9
         8: .line 229
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            aload 2 /* salt */
            iconst_0
            bipush 8
            invokevirtual java.security.MessageDigest.update:([BII)V
         9: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 5 /* result */
        start local 5 // byte[] result
        10: .line 233
            aload 4 /* keyAndIv */
            arraylength
            iload 6 /* currentPos */
            isub
            istore 7 /* stillNeed */
        start local 7 // int stillNeed
        11: .line 236
            aload 5 /* result */
            arraylength
            iload 7 /* stillNeed */
            if_icmple 15
        12: .line 238
            iload 7 /* stillNeed */
            newarray 8
            astore 8 /* b */
        start local 8 // byte[] b
        13: .line 240
            aload 5 /* result */
            iconst_0
            aload 8 /* b */
            iconst_0
            aload 8 /* b */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 242
            aload 8 /* b */
            astore 5 /* result */
        end local 8 // byte[] b
        15: .line 245
      StackMap locals: org.sonatype.plexus.components.cipher.PBECipher byte[] byte[] int byte[] byte[] int int
      StackMap stack:
            aload 5 /* result */
            iconst_0
            aload 4 /* keyAndIv */
            iload 6 /* currentPos */
            aload 5 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 247
            iload 6 /* currentPos */
            aload 5 /* result */
            arraylength
            iadd
            istore 6 /* currentPos */
        17: .line 249
            iload 6 /* currentPos */
            aload 4 /* keyAndIv */
            arraylength
            if_icmpge 20
        18: .line 252
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.reset:()V
        19: .line 253
            aload 0 /* this */
            getfield org.sonatype.plexus.components.cipher.PBECipher._digester:Ljava/security/MessageDigest;
            aload 5 /* result */
            invokevirtual java.security.MessageDigest.update:([B)V
        end local 7 // int stillNeed
        end local 5 // byte[] result
        20: .line 214
      StackMap locals: org.sonatype.plexus.components.cipher.PBECipher byte[] byte[] int byte[] top int
      StackMap stack:
            iload 6 /* currentPos */
            aload 4 /* keyAndIv */
            arraylength
            if_icmplt 6
        21: .line 257
            bipush 16
            newarray 8
            astore 7 /* key */
        start local 7 // byte[] key
        22: .line 259
            bipush 16
            newarray 8
            astore 8 /* iv */
        start local 8 // byte[] iv
        23: .line 261
            aload 4 /* keyAndIv */
            iconst_0
            aload 7 /* key */
            iconst_0
            aload 7 /* key */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 263
            aload 4 /* keyAndIv */
            aload 7 /* key */
            arraylength
            aload 8 /* iv */
            iconst_0
            aload 8 /* iv */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 265
            ldc "AES/CBC/PKCS5Padding"
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 9 /* cipher */
        start local 9 // javax.crypto.Cipher cipher
        26: .line 267
            aload 9 /* cipher */
            iload 3 /* mode */
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 7 /* key */
            ldc "AES"
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 8 /* iv */
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
        27: .line 269
            aload 9 /* cipher */
            areturn
        end local 9 // javax.crypto.Cipher cipher
        end local 8 // byte[] iv
        end local 7 // byte[] key
        end local 6 // int currentPos
        end local 4 // byte[] keyAndIv
        end local 3 // int mode
        end local 2 // byte[] salt
        end local 1 // byte[] pwdAsBytes
        end local 0 // org.sonatype.plexus.components.cipher.PBECipher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/sonatype/plexus/components/cipher/PBECipher;
            0   28     1  pwdAsBytes  [B
            0   28     2        salt  [B
            0   28     3        mode  I
            2   28     4    keyAndIv  [B
           10   20     5      result  [B
            5   28     6  currentPos  I
           11   20     7   stillNeed  I
           13   15     8           b  [B
           22   28     7         key  [B
           23   28     8          iv  [B
           26   28     9      cipher  Ljavax/crypto/Cipher;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
            Name  Flags
      pwdAsBytes  final
      salt        
      mode        final
}
SourceFile: "PBECipher.java"