public final class org.jasypt.digest.StandardStringDigester implements org.jasypt.digest.StringDigester
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jasypt.digest.StandardStringDigester
  super_class: java.lang.Object
{
  public static final java.lang.String MESSAGE_CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "UTF-8"

  public static final java.lang.String DIGEST_CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "US-ASCII"

  public static final boolean DEFAULT_UNICODE_NORMALIZATION_IGNORED;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final java.lang.String DEFAULT_STRING_OUTPUT_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "base64"

  private final org.jasypt.digest.StandardByteDigester byteDigester;
    descriptor: Lorg/jasypt/digest/StandardByteDigester;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.jasypt.digest.config.StringDigesterConfig stringDigesterConfig;
    descriptor: Lorg/jasypt/digest/config/StringDigesterConfig;
    flags: (0x0002) ACC_PRIVATE

  private boolean unicodeNormalizationIgnored;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String stringOutputType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean stringOutputTypeBase64;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String suffix;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean unicodeNormalizationIgnoredSet;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean stringOutputTypeSet;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean prefixSet;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean suffixSet;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64 base64;
    descriptor: Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jasypt.digest.StandardStringDigester this
         0: .line 282
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 242
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
         2: .line 246
            aload 0 /* this */
         3: .line 247
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
         4: .line 251
            aload 0 /* this */
            ldc "base64"
            putfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
         5: .line 252
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeBase64:Z
         6: .line 256
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
         7: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
         8: .line 265
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnoredSet:Z
         9: .line 266
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeSet:Z
        10: .line 267
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.prefixSet:Z
        11: .line 268
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.suffixSet:Z
        12: .line 283
            aload 0 /* this */
            new org.jasypt.digest.StandardByteDigester
            dup
            invokespecial org.jasypt.digest.StandardByteDigester.<init>:()V
            putfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
        13: .line 284
            aload 0 /* this */
            new org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64
            dup
            invokespecial org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.<init>:()V
            putfield org.jasypt.digest.StandardStringDigester.base64:Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
        14: .line 285
            return
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/jasypt/digest/StandardStringDigester;

  private void <init>(org.jasypt.digest.StandardByteDigester);
    descriptor: (Lorg/jasypt/digest/StandardByteDigester;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // org.jasypt.digest.StandardByteDigester standardByteDigester
         0: .line 294
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 242
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
         2: .line 246
            aload 0 /* this */
         3: .line 247
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
         4: .line 251
            aload 0 /* this */
            ldc "base64"
            putfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
         5: .line 252
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeBase64:Z
         6: .line 256
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
         7: .line 257
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
         8: .line 265
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnoredSet:Z
         9: .line 266
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeSet:Z
        10: .line 267
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.prefixSet:Z
        11: .line 268
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.StandardStringDigester.suffixSet:Z
        12: .line 295
            aload 0 /* this */
            aload 1 /* standardByteDigester */
            putfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
        13: .line 296
            aload 0 /* this */
            new org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64
            dup
            invokespecial org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.<init>:()V
            putfield org.jasypt.digest.StandardStringDigester.base64:Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
        14: .line 297
            return
        end local 1 // org.jasypt.digest.StandardByteDigester standardByteDigester
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   15     0                  this  Lorg/jasypt/digest/StandardStringDigester;
            0   15     1  standardByteDigester  Lorg/jasypt/digest/StandardByteDigester;
    MethodParameters:
                      Name  Flags
      standardByteDigester  final

  public synchronized void setConfig(org.jasypt.digest.config.DigesterConfig);
    descriptor: (Lorg/jasypt/digest/config/DigesterConfig;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // org.jasypt.digest.config.DigesterConfig config
         0: .line 330
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 1 /* config */
            invokevirtual org.jasypt.digest.StandardByteDigester.setConfig:(Lorg/jasypt/digest/config/DigesterConfig;)V
         1: .line 331
            aload 1 /* config */
            ifnull 3
            aload 1 /* config */
            instanceof org.jasypt.digest.config.StringDigesterConfig
            ifeq 3
         2: .line 332
            aload 0 /* this */
            aload 1 /* config */
            checkcast org.jasypt.digest.config.StringDigesterConfig
            putfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
         3: .line 334
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jasypt.digest.config.DigesterConfig config
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jasypt/digest/StandardStringDigester;
            0    4     1  config  Lorg/jasypt/digest/config/DigesterConfig;
    MethodParameters:
        Name  Flags
      config  final

  public void setAlgorithm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String algorithm
         0: .line 364
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 1 /* algorithm */
            invokevirtual org.jasypt.digest.StandardByteDigester.setAlgorithm:(Ljava/lang/String;)V
         1: .line 365
            return
        end local 1 // java.lang.String algorithm
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  final

  public void setSaltSizeBytes(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // int saltSizeBytes
         0: .line 383
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            iload 1 /* saltSizeBytes */
            invokevirtual org.jasypt.digest.StandardByteDigester.setSaltSizeBytes:(I)V
         1: .line 384
            return
        end local 1 // int saltSizeBytes
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  saltSizeBytes  I
    MethodParameters:
               Name  Flags
      saltSizeBytes  final

  public void setIterations(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // int iterations
         0: .line 403
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            iload 1 /* iterations */
            invokevirtual org.jasypt.digest.StandardByteDigester.setIterations:(I)V
         1: .line 404
            return
        end local 1 // int iterations
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  iterations  I
    MethodParameters:
            Name  Flags
      iterations  final

  public void setSaltGenerator(org.jasypt.salt.SaltGenerator);
    descriptor: (Lorg/jasypt/salt/SaltGenerator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // org.jasypt.salt.SaltGenerator saltGenerator
         0: .line 416
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 1 /* saltGenerator */
            invokevirtual org.jasypt.digest.StandardByteDigester.setSaltGenerator:(Lorg/jasypt/salt/SaltGenerator;)V
         1: .line 417
            return
        end local 1 // org.jasypt.salt.SaltGenerator saltGenerator
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  saltGenerator  Lorg/jasypt/salt/SaltGenerator;
    MethodParameters:
               Name  Flags
      saltGenerator  final

  public void setProviderName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String providerName
         0: .line 448
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 1 /* providerName */
            invokevirtual org.jasypt.digest.StandardByteDigester.setProviderName:(Ljava/lang/String;)V
         1: .line 449
            return
        end local 1 // java.lang.String providerName
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  final

  public void setProvider(java.security.Provider);
    descriptor: (Ljava/security/Provider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.security.Provider provider
         0: .line 473
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 1 /* provider */
            invokevirtual org.jasypt.digest.StandardByteDigester.setProvider:(Ljava/security/Provider;)V
         1: .line 474
            return
        end local 1 // java.security.Provider provider
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  provider  Ljava/security/Provider;
    MethodParameters:
          Name  Flags
      provider  final

  public synchronized void setInvertPositionOfSaltInMessageBeforeDigesting(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // boolean invertPositionOfSaltInMessageBeforeDigesting
         0: .line 499
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            iload 1 /* invertPositionOfSaltInMessageBeforeDigesting */
            invokevirtual org.jasypt.digest.StandardByteDigester.setInvertPositionOfSaltInMessageBeforeDigesting:(Z)V
         1: .line 500
            return
        end local 1 // boolean invertPositionOfSaltInMessageBeforeDigesting
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                                          Name  Signature
            0    2     0                                          this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  invertPositionOfSaltInMessageBeforeDigesting  Z
    MethodParameters:
                                              Name  Flags
      invertPositionOfSaltInMessageBeforeDigesting  final

  public synchronized void setInvertPositionOfPlainSaltInEncryptionResults(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // boolean invertPositionOfPlainSaltInEncryptionResults
         0: .line 525
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            iload 1 /* invertPositionOfPlainSaltInEncryptionResults */
            invokevirtual org.jasypt.digest.StandardByteDigester.setInvertPositionOfPlainSaltInEncryptionResults:(Z)V
         1: .line 526
            return
        end local 1 // boolean invertPositionOfPlainSaltInEncryptionResults
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                                          Name  Signature
            0    2     0                                          this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  invertPositionOfPlainSaltInEncryptionResults  Z
    MethodParameters:
                                              Name  Flags
      invertPositionOfPlainSaltInEncryptionResults  final

  public synchronized void setUseLenientSaltSizeCheck(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // boolean useLenientSaltSizeCheck
         0: .line 568
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            iload 1 /* useLenientSaltSizeCheck */
            invokevirtual org.jasypt.digest.StandardByteDigester.setUseLenientSaltSizeCheck:(Z)V
         1: .line 569
            return
        end local 1 // boolean useLenientSaltSizeCheck
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/jasypt/digest/StandardStringDigester;
            0    2     1  useLenientSaltSizeCheck  Z
    MethodParameters:
                         Name  Flags
      useLenientSaltSizeCheck  final

  public synchronized void setUnicodeNormalizationIgnored(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // boolean unicodeNormalizationIgnored
         0: .line 600
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifeq 2
         1: .line 601
            new org.jasypt.exceptions.AlreadyInitializedException
            dup
            invokespecial org.jasypt.exceptions.AlreadyInitializedException.<init>:()V
            athrow
         2: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unicodeNormalizationIgnored */
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
         3: .line 604
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnoredSet:Z
         4: .line 605
            return
        end local 1 // boolean unicodeNormalizationIgnored
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    5     0                         this  Lorg/jasypt/digest/StandardStringDigester;
            0    5     1  unicodeNormalizationIgnored  Z
    MethodParameters:
                             Name  Flags
      unicodeNormalizationIgnored  final

  public synchronized void setStringOutputType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String stringOutputType
         0: .line 626
            aload 1 /* stringOutputType */
            ldc "String output type cannot be set empty"
            invokestatic org.jasypt.commons.CommonUtils.validateNotEmpty:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 627
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifeq 3
         2: .line 628
            new org.jasypt.exceptions.AlreadyInitializedException
            dup
            invokespecial org.jasypt.exceptions.AlreadyInitializedException.<init>:()V
            athrow
         3: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         4: .line 632
            aload 1 /* stringOutputType */
            invokestatic org.jasypt.commons.CommonUtils.getStandardStringOutputType:(Ljava/lang/String;)Ljava/lang/String;
         5: .line 630
            putfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
         6: .line 633
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeSet:Z
         7: .line 634
            return
        end local 1 // java.lang.String stringOutputType
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/jasypt/digest/StandardStringDigester;
            0    8     1  stringOutputType  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      stringOutputType  final

  public synchronized void setPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String prefix
         0: .line 652
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifeq 2
         1: .line 653
            new org.jasypt.exceptions.AlreadyInitializedException
            dup
            invokespecial org.jasypt.exceptions.AlreadyInitializedException.<init>:()V
            athrow
         2: .line 655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* prefix */
            putfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
         3: .line 656
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.prefixSet:Z
         4: .line 657
            return
        end local 1 // java.lang.String prefix
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jasypt/digest/StandardStringDigester;
            0    5     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  final

  public synchronized void setSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String suffix
         0: .line 675
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifeq 2
         1: .line 676
            new org.jasypt.exceptions.AlreadyInitializedException
            dup
            invokespecial org.jasypt.exceptions.AlreadyInitializedException.<init>:()V
            athrow
         2: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* suffix */
            putfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
         3: .line 679
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.StandardStringDigester.suffixSet:Z
         4: .line 680
            return
        end local 1 // java.lang.String suffix
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jasypt/digest/StandardStringDigester;
            0    5     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  final

  org.jasypt.digest.StandardStringDigester cloneDigester();
    descriptor: ()Lorg/jasypt/digest/StandardStringDigester;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jasypt.digest.StandardStringDigester this
         0: .line 695
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifne 2
         1: .line 696
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.initialize:()V
         2: .line 700
      StackMap locals:
      StackMap stack:
            new org.jasypt.digest.StandardStringDigester
            dup
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            invokevirtual org.jasypt.digest.StandardByteDigester.cloneDigester:()Lorg/jasypt/digest/StandardByteDigester;
            invokespecial org.jasypt.digest.StandardStringDigester.<init>:(Lorg/jasypt/digest/StandardByteDigester;)V
         3: .line 699
            astore 1 /* cloned */
        start local 1 // org.jasypt.digest.StandardStringDigester cloned
         4: .line 701
            aload 1 /* cloned */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            invokevirtual org.jasypt.digest.StandardStringDigester.setPrefix:(Ljava/lang/String;)V
         5: .line 702
            aload 1 /* cloned */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            invokevirtual org.jasypt.digest.StandardStringDigester.setSuffix:(Ljava/lang/String;)V
         6: .line 703
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
            invokestatic org.jasypt.commons.CommonUtils.isNotEmpty:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 704
            aload 1 /* cloned */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
            invokevirtual org.jasypt.digest.StandardStringDigester.setStringOutputType:(Ljava/lang/String;)V
         8: .line 706
      StackMap locals: org.jasypt.digest.StandardStringDigester
      StackMap stack:
            aload 1 /* cloned */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
            invokevirtual org.jasypt.digest.StandardStringDigester.setUnicodeNormalizationIgnored:(Z)V
         9: .line 708
            aload 1 /* cloned */
            areturn
        end local 1 // org.jasypt.digest.StandardStringDigester cloned
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/jasypt/digest/StandardStringDigester;
            4   10     1  cloned  Lorg/jasypt/digest/StandardStringDigester;

  public boolean isInitialized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jasypt.digest.StandardStringDigester this
         0: .line 737
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            invokevirtual org.jasypt.digest.StandardByteDigester.isInitialized:()Z
            ireturn
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jasypt/digest/StandardStringDigester;

  public synchronized void initialize();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.jasypt.digest.StandardStringDigester this
         0: .line 777
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifne 35
         1: .line 784
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
            ifnull 30
         2: .line 787
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
            invokeinterface org.jasypt.digest.config.StringDigesterConfig.isUnicodeNormalizationIgnored:()Ljava/lang/Boolean;
         3: .line 786
            astore 1 /* configUnicodeNormalizationIgnored */
        start local 1 // java.lang.Boolean configUnicodeNormalizationIgnored
         4: .line 789
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
            invokeinterface org.jasypt.digest.config.StringDigesterConfig.getStringOutputType:()Ljava/lang/String;
         5: .line 788
            astore 2 /* configStringOutputType */
        start local 2 // java.lang.String configStringOutputType
         6: .line 791
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
            invokeinterface org.jasypt.digest.config.StringDigesterConfig.getPrefix:()Ljava/lang/String;
         7: .line 790
            astore 3 /* configPrefix */
        start local 3 // java.lang.String configPrefix
         8: .line 793
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringDigesterConfig:Lorg/jasypt/digest/config/StringDigesterConfig;
            invokeinterface org.jasypt.digest.config.StringDigesterConfig.getSuffix:()Ljava/lang/String;
         9: .line 792
            astore 4 /* configSuffix */
        start local 4 // java.lang.String configSuffix
        10: .line 795
            aload 0 /* this */
        11: .line 796
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnoredSet:Z
            ifne 12
            aload 1 /* configUnicodeNormalizationIgnored */
            ifnonnull 13
        12: .line 797
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.Boolean java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.digest.StandardStringDigester
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
            goto 14
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
        13: aload 1 /* configUnicodeNormalizationIgnored */
            invokevirtual java.lang.Boolean.booleanValue:()Z
        14: .line 795
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.Boolean java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.digest.StandardStringDigester int
            putfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
        15: .line 798
            aload 0 /* this */
        16: .line 799
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputTypeSet:Z
            ifne 17
            aload 2 /* configStringOutputType */
            ifnonnull 18
        17: .line 800
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
            goto 19
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
        18: aload 2 /* configStringOutputType */
        19: .line 798
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.Boolean java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.digest.StandardStringDigester java.lang.String
            putfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
        20: .line 801
            aload 0 /* this */
        21: .line 802
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefixSet:Z
            ifne 22
            aload 3 /* configPrefix */
            ifnonnull 23
        22: .line 803
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            goto 24
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
        23: aload 3 /* configPrefix */
        24: .line 801
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.Boolean java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.digest.StandardStringDigester java.lang.String
            putfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
        25: .line 804
            aload 0 /* this */
        26: .line 805
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffixSet:Z
            ifne 27
            aload 4 /* configSuffix */
            ifnonnull 28
        27: .line 806
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            goto 29
      StackMap locals:
      StackMap stack: org.jasypt.digest.StandardStringDigester
        28: aload 4 /* configSuffix */
        29: .line 804
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.Boolean java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.digest.StandardStringDigester java.lang.String
            putfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
        end local 4 // java.lang.String configSuffix
        end local 3 // java.lang.String configPrefix
        end local 2 // java.lang.String configStringOutputType
        end local 1 // java.lang.Boolean configUnicodeNormalizationIgnored
        30: .line 810
      StackMap locals: org.jasypt.digest.StandardStringDigester
      StackMap stack:
            aload 0 /* this */
        31: .line 811
            ldc "base64"
        32: .line 812
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputType:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
        33: .line 810
            putfield org.jasypt.digest.StandardStringDigester.stringOutputTypeBase64:Z
        34: .line 814
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            invokevirtual org.jasypt.digest.StandardByteDigester.initialize:()V
        35: .line 818
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0   36     0                               this  Lorg/jasypt/digest/StandardStringDigester;
            4   30     1  configUnicodeNormalizationIgnored  Ljava/lang/Boolean;
            6   30     2             configStringOutputType  Ljava/lang/String;
            8   30     3                       configPrefix  Ljava/lang/String;
           10   30     4                       configSuffix  Ljava/lang/String;

  public java.lang.String digest(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String message
         0: .line 897
            aload 1 /* message */
            ifnonnull 2
         1: .line 898
            aconst_null
            areturn
         2: .line 902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifne 4
         3: .line 903
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.initialize:()V
         4: .line 909
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* normalizedMessage */
        start local 2 // java.lang.String normalizedMessage
         5: .line 910
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
            ifne 8
         6: .line 911
            aload 1 /* message */
            invokestatic org.jasypt.normalization.Normalizer.normalizeToNfc:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* normalizedMessage */
         7: .line 912
            goto 9
         8: .line 913
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* message */
            astore 2 /* normalizedMessage */
         9: .line 919
      StackMap locals:
      StackMap stack:
            aload 2 /* normalizedMessage */
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 3 /* messageBytes */
        start local 3 // byte[] messageBytes
        10: .line 922
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 3 /* messageBytes */
            invokevirtual org.jasypt.digest.StandardByteDigester.digest:([B)[B
            astore 4 /* digest */
        start local 4 // byte[] digest
        11: .line 925
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 5 /* result */
        start local 5 // java.lang.StringBuffer result
        12: .line 927
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            ifnull 14
        13: .line 929
            aload 5 /* result */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 934
      StackMap locals: byte[] byte[] java.lang.StringBuffer
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputTypeBase64:Z
            ifeq 18
        15: .line 935
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.base64:Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
            aload 4 /* digest */
            invokevirtual org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.encode:([B)[B
            astore 4 /* digest */
        16: .line 936
            aload 5 /* result */
            new java.lang.String
            dup
            aload 4 /* digest */
            ldc "US-ASCII"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 937
            goto 19
        18: .line 938
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            aload 4 /* digest */
            invokestatic org.jasypt.commons.CommonUtils.toHexadecimal:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        19: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            ifnull 21
        20: .line 943
            aload 5 /* result */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        21: .line 946
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
        22: areturn
        end local 5 // java.lang.StringBuffer result
        end local 4 // byte[] digest
        end local 3 // byte[] messageBytes
        end local 2 // java.lang.String normalizedMessage
        23: .line 948
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.String
      StackMap stack: org.jasypt.exceptions.EncryptionInitializationException
            astore 2 /* e */
        start local 2 // org.jasypt.exceptions.EncryptionInitializationException e
        24: .line 949
            aload 2 /* e */
            athrow
        end local 2 // org.jasypt.exceptions.EncryptionInitializationException e
        25: .line 950
      StackMap locals:
      StackMap stack: org.jasypt.exceptions.EncryptionOperationNotPossibleException
            astore 2 /* e */
        start local 2 // org.jasypt.exceptions.EncryptionOperationNotPossibleException e
        26: .line 951
            aload 2 /* e */
            athrow
        end local 2 // org.jasypt.exceptions.EncryptionOperationNotPossibleException e
        27: .line 952
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        28: .line 955
            new org.jasypt.exceptions.EncryptionOperationNotPossibleException
            dup
            invokespecial org.jasypt.exceptions.EncryptionOperationNotPossibleException.<init>:()V
            athrow
        end local 1 // java.lang.String message
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   29     0               this  Lorg/jasypt/digest/StandardStringDigester;
            0   29     1            message  Ljava/lang/String;
            5   23     2  normalizedMessage  Ljava/lang/String;
           10   23     3       messageBytes  [B
           11   23     4             digest  [B
           12   23     5             result  Ljava/lang/StringBuffer;
           24   25     2                  e  Lorg/jasypt/exceptions/EncryptionInitializationException;
           26   27     2                  e  Lorg/jasypt/exceptions/EncryptionOperationNotPossibleException;
      Exception table:
        from    to  target  type
           4    22      23  Class org.jasypt.exceptions.EncryptionInitializationException
           4    22      25  Class org.jasypt.exceptions.EncryptionOperationNotPossibleException
           4    22      27  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      message  final

  public boolean matches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.jasypt.digest.StandardStringDigester this
        start local 1 // java.lang.String message
        start local 2 // java.lang.String digest
         0: .line 993
            aload 2 /* digest */
            astore 3 /* processedDigest */
        start local 3 // java.lang.String processedDigest
         1: .line 995
            aload 3 /* processedDigest */
            ifnull 14
         2: .line 996
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            ifnull 8
         3: .line 997
            aload 3 /* processedDigest */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 7
         4: .line 998
            new org.jasypt.exceptions.EncryptionOperationNotPossibleException
            dup
         5: .line 999
            new java.lang.StringBuilder
            dup
            ldc "Digest does not start with required prefix \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 998
            invokespecial org.jasypt.exceptions.EncryptionOperationNotPossibleException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1001
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* processedDigest */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.prefix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* processedDigest */
         8: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            ifnull 14
         9: .line 1004
            aload 3 /* processedDigest */
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 13
        10: .line 1005
            new org.jasypt.exceptions.EncryptionOperationNotPossibleException
            dup
        11: .line 1006
            new java.lang.StringBuilder
            dup
            ldc "Digest does not end with required suffix \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1005
            invokespecial org.jasypt.exceptions.EncryptionOperationNotPossibleException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1008
      StackMap locals:
      StackMap stack:
            aload 3 /* processedDigest */
            iconst_0
            aload 3 /* processedDigest */
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.suffix:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* processedDigest */
        14: .line 1013
      StackMap locals:
      StackMap stack:
            aload 1 /* message */
            ifnonnull 17
        15: .line 1014
            aload 3 /* processedDigest */
            ifnonnull 16
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        16: iconst_0
            ireturn
        17: .line 1015
      StackMap locals:
      StackMap stack:
            aload 3 /* processedDigest */
            ifnonnull 19
        18: .line 1016
            iconst_0
            ireturn
        19: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.isInitialized:()Z
            ifne 21
        20: .line 1022
            aload 0 /* this */
            invokevirtual org.jasypt.digest.StandardStringDigester.initialize:()V
        21: .line 1028
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* normalizedMessage */
        start local 4 // java.lang.String normalizedMessage
        22: .line 1029
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.unicodeNormalizationIgnored:Z
            ifne 25
        23: .line 1030
            aload 1 /* message */
            invokestatic org.jasypt.normalization.Normalizer.normalizeToNfc:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* normalizedMessage */
        24: .line 1031
            goto 26
        25: .line 1032
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* message */
            astore 4 /* normalizedMessage */
        26: .line 1037
      StackMap locals:
      StackMap stack:
            aload 4 /* normalizedMessage */
            ldc "UTF-8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 5 /* messageBytes */
        start local 5 // byte[] messageBytes
        27: .line 1042
            aconst_null
            astore 6 /* digestBytes */
        start local 6 // byte[] digestBytes
        28: .line 1043
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.stringOutputTypeBase64:Z
            ifeq 32
        29: .line 1045
            aload 3 /* processedDigest */
            ldc "US-ASCII"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 6 /* digestBytes */
        30: .line 1046
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.base64:Lorg/jasypt/contrib/org/apache/commons/codec_1_3/binary/Base64;
            aload 6 /* digestBytes */
            invokevirtual org.jasypt.contrib.org.apache.commons.codec_1_3.binary.Base64.decode:([B)[B
            astore 6 /* digestBytes */
        31: .line 1047
            goto 33
        32: .line 1048
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 3 /* processedDigest */
            invokestatic org.jasypt.commons.CommonUtils.fromHexadecimal:(Ljava/lang/String;)[B
            astore 6 /* digestBytes */
        33: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.StandardStringDigester.byteDigester:Lorg/jasypt/digest/StandardByteDigester;
            aload 5 /* messageBytes */
            aload 6 /* digestBytes */
            invokevirtual org.jasypt.digest.StandardByteDigester.matches:([B[B)Z
        34: ireturn
        end local 6 // byte[] digestBytes
        end local 5 // byte[] messageBytes
        end local 4 // java.lang.String normalizedMessage
        35: .line 1054
      StackMap locals: org.jasypt.digest.StandardStringDigester java.lang.String java.lang.String java.lang.String
      StackMap stack: org.jasypt.exceptions.EncryptionInitializationException
            astore 4 /* e */
        start local 4 // org.jasypt.exceptions.EncryptionInitializationException e
        36: .line 1055
            aload 4 /* e */
            athrow
        end local 4 // org.jasypt.exceptions.EncryptionInitializationException e
        37: .line 1056
      StackMap locals:
      StackMap stack: org.jasypt.exceptions.EncryptionOperationNotPossibleException
            astore 4 /* e */
        start local 4 // org.jasypt.exceptions.EncryptionOperationNotPossibleException e
        38: .line 1057
            aload 4 /* e */
            athrow
        end local 4 // org.jasypt.exceptions.EncryptionOperationNotPossibleException e
        39: .line 1058
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        40: .line 1061
            new org.jasypt.exceptions.EncryptionOperationNotPossibleException
            dup
            invokespecial org.jasypt.exceptions.EncryptionOperationNotPossibleException.<init>:()V
            athrow
        end local 3 // java.lang.String processedDigest
        end local 2 // java.lang.String digest
        end local 1 // java.lang.String message
        end local 0 // org.jasypt.digest.StandardStringDigester this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/jasypt/digest/StandardStringDigester;
            0   41     1            message  Ljava/lang/String;
            0   41     2             digest  Ljava/lang/String;
            1   41     3    processedDigest  Ljava/lang/String;
           22   35     4  normalizedMessage  Ljava/lang/String;
           27   35     5       messageBytes  [B
           28   35     6        digestBytes  [B
           36   37     4                  e  Lorg/jasypt/exceptions/EncryptionInitializationException;
           38   39     4                  e  Lorg/jasypt/exceptions/EncryptionOperationNotPossibleException;
      Exception table:
        from    to  target  type
          21    34      35  Class org.jasypt.exceptions.EncryptionInitializationException
          21    34      37  Class org.jasypt.exceptions.EncryptionOperationNotPossibleException
          21    34      39  Class java.lang.Exception
    MethodParameters:
         Name  Flags
      message  final
      digest   final
}
SourceFile: "StandardStringDigester.java"