public class com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm extends com.sun.org.apache.xml.internal.security.algorithms.Algorithm
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm
  super_class: com.sun.org.apache.xml.internal.security.algorithms.Algorithm
{
  public static final java.lang.String ALGO_ID_DIGEST_NOT_RECOMMENDED_MD5;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#md5"

  public static final java.lang.String ALGO_ID_DIGEST_SHA1;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2000/09/xmldsig#sha1"

  public static final java.lang.String ALGO_ID_DIGEST_SHA256;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmlenc#sha256"

  public static final java.lang.String ALGO_ID_DIGEST_SHA384;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmldsig-more#sha384"

  public static final java.lang.String ALGO_ID_DIGEST_SHA512;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmlenc#sha512"

  public static final java.lang.String ALGO_ID_DIGEST_RIPEMD160;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "http://www.w3.org/2001/04/xmlenc#ripemd160"

  private final java.security.MessageDigest algorithm;
    descriptor: Ljava/security/MessageDigest;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(Document, java.lang.String);
    descriptor: (LDocument;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 31
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe import org.w3c cannot be resolved\n\tDocument cannot be resolved to a type\n\tDocument cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
              Name  Flags
      doc           
      algorithmURI  

  public static com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm getInstance(Document, java.lang.String);
    descriptor: (LDocument;Ljava/lang/String;)Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 85
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tDocument cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
              Name  Flags
      doc           
      algorithmURI  

  private static java.security.MessageDigest getDigestInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/MessageDigest;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String algorithmURI
         0: .line 91
            aload 0 /* algorithmURI */
            invokestatic com.sun.org.apache.xml.internal.security.algorithms.JCEMapper.translateURItoJCEID:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* algorithmID */
        start local 1 // java.lang.String algorithmID
         1: .line 93
            aload 1 /* algorithmID */
            ifnonnull 4
         2: .line 94
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* algorithmURI */
            aastore
            astore 2 /* exArgs */
        start local 2 // java.lang.Object[] exArgs
         3: .line 95
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.NoSuchMap"
            aload 2 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 2 // java.lang.Object[] exArgs
         4: .line 99
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic com.sun.org.apache.xml.internal.security.algorithms.JCEMapper.getProviderId:()Ljava/lang/String;
            astore 3 /* provider */
        start local 3 // java.lang.String provider
         5: .line 101
            aload 3 /* provider */
            ifnonnull 8
         6: .line 102
            aload 1 /* algorithmID */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 2 /* md */
        start local 2 // java.security.MessageDigest md
         7: .line 103
            goto 16
        end local 2 // java.security.MessageDigest md
         8: .line 104
      StackMap locals: java.lang.String java.lang.String top java.lang.String
      StackMap stack:
            aload 1 /* algorithmID */
            aload 3 /* provider */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 2 /* md */
        start local 2 // java.security.MessageDigest md
         9: .line 106
            goto 16
        end local 2 // java.security.MessageDigest md
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
        10: astore 4 /* ex */
        start local 4 // java.security.NoSuchAlgorithmException ex
        11: .line 107
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* algorithmID */
            aastore
            dup
            iconst_1
            aload 4 /* ex */
            invokevirtual java.security.NoSuchAlgorithmException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 5 /* exArgs */
        start local 5 // java.lang.Object[] exArgs
        12: .line 109
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.NoSuchAlgorithm"
            aload 5 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.Object[] exArgs
        end local 4 // java.security.NoSuchAlgorithmException ex
        13: .line 110
      StackMap locals:
      StackMap stack: java.security.NoSuchProviderException
            astore 4 /* ex */
        start local 4 // java.security.NoSuchProviderException ex
        14: .line 111
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* algorithmID */
            aastore
            dup
            iconst_1
            aload 4 /* ex */
            invokevirtual java.security.NoSuchProviderException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 5 /* exArgs */
        start local 5 // java.lang.Object[] exArgs
        15: .line 113
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
            dup
            ldc "algorithms.NoSuchAlgorithm"
            aload 5 /* exArgs */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.Object[] exArgs
        end local 4 // java.security.NoSuchProviderException ex
        start local 2 // java.security.MessageDigest md
        16: .line 116
      StackMap locals: java.lang.String java.lang.String java.security.MessageDigest java.lang.String
      StackMap stack:
            aload 2 /* md */
            areturn
        end local 3 // java.lang.String provider
        end local 2 // java.security.MessageDigest md
        end local 1 // java.lang.String algorithmID
        end local 0 // java.lang.String algorithmURI
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0  algorithmURI  Ljava/lang/String;
            1   17     1   algorithmID  Ljava/lang/String;
            3    4     2        exArgs  [Ljava/lang/Object;
            7    8     2            md  Ljava/security/MessageDigest;
            9   10     2            md  Ljava/security/MessageDigest;
           16   17     2            md  Ljava/security/MessageDigest;
            5   17     3      provider  Ljava/lang/String;
           11   13     4            ex  Ljava/security/NoSuchAlgorithmException;
           12   13     5        exArgs  [Ljava/lang/Object;
           14   16     4            ex  Ljava/security/NoSuchProviderException;
           15   16     5        exArgs  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           5     9      10  Class java.security.NoSuchAlgorithmException
           5     9      13  Class java.security.NoSuchProviderException
    Exceptions:
      throws com.sun.org.apache.xml.internal.security.signature.XMLSignatureException
    MethodParameters:
              Name  Flags
      algorithmURI  

  public java.security.MessageDigest getAlgorithm();
    descriptor: ()Ljava/security/MessageDigest;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 125
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public static boolean isEqual(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] digesta
        start local 1 // byte[] digestb
         0: .line 137
            aload 0 /* digesta */
            aload 1 /* digestb */
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
            ireturn
        end local 1 // byte[] digestb
        end local 0 // byte[] digesta
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  digesta  [B
            0    1     1  digestb  [B
    MethodParameters:
         Name  Flags
      digesta  
      digestb  

  public byte[] digest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 147
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.digest:()[B
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public byte[] digest(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
        start local 1 // byte[] input
         0: .line 158
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            aload 1 /* input */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            areturn
        end local 1 // byte[] input
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
            0    1     1  input  [B
    MethodParameters:
       Name  Flags
      input  

  public int digest(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int len
         0: .line 172
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            aload 1 /* buf */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual java.security.MessageDigest.digest:([BII)I
            ireturn
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
            0    1     1     buf  [B
            0    1     2  offset  I
            0    1     3     len  I
    Exceptions:
      throws java.security.DigestException
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  public java.lang.String getJCEAlgorithmString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 182
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public java.security.Provider getJCEProvider();
    descriptor: ()Ljava/security/Provider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 192
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.getProvider:()Ljava/security/Provider;
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public int getDigestLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 202
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.getDigestLength:()I
            ireturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 211
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.reset:()V
         1: .line 212
            return
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public void update(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
        start local 1 // byte[] input
         0: .line 221
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            aload 1 /* input */
            invokevirtual java.security.MessageDigest.update:([B)V
         1: .line 222
            return
        end local 1 // byte[] input
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
            0    2     1  input  [B
    MethodParameters:
       Name  Flags
      input  

  public void update(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
        start local 1 // byte input
         0: .line 231
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            iload 1 /* input */
            invokevirtual java.security.MessageDigest.update:(B)V
         1: .line 232
            return
        end local 1 // byte input
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
            0    2     1  input  B
    MethodParameters:
       Name  Flags
      input  

  public void update(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int len
         0: .line 243
            aload 0 /* this */
            getfield com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm.algorithm:Ljava/security/MessageDigest;
            aload 1 /* buf */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         1: .line 244
            return
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
            0    2     1     buf  [B
            0    2     2  offset  I
            0    2     3     len  I
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  public java.lang.String getBaseNamespace();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 248
            ldc "http://www.w3.org/2000/09/xmldsig#"
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;

  public java.lang.String getBaseLocalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
         0: .line 253
            ldc "DigestMethod"
            areturn
        end local 0 // com.sun.org.apache.xml.internal.security.algorithms.MessageDigestAlgorithm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm;
}
SourceFile: "MessageDigestAlgorithm.java"