public final class android.util.PackageUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.util.PackageUtils
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/util/PackageUtils;
public static java.lang.String[] computeSignaturesSha256Digests(android.content.pm.Signature[]);
descriptor: ([Landroid/content/pm/Signature;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 0
iload 3
aaload
invokevirtual android.content.pm.Signature.toByteArray:()[B
invokestatic android.util.PackageUtils.computeSha256Digest:([B)Ljava/lang/String;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
iload 1
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 signatures [Landroid/content/pm/Signature;
1 8 1 signatureCount I
2 8 2 digests [Ljava/lang/String;
3 7 3 i I
MethodParameters:
Name Flags
signatures
public static java.lang.String computeSignaturesSha256Digest(android.content.pm.Signature[]);
descriptor: ([Landroid/content/pm/Signature;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 2
1: aload 0
iconst_0
aaload
invokevirtual android.content.pm.Signature.toByteArray:()[B
invokestatic android.util.PackageUtils.computeSha256Digest:([B)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic android.util.PackageUtils.computeSignaturesSha256Digests:([Landroid/content/pm/Signature;)[Ljava/lang/String;
astore 1
start local 1 3: aload 1
invokestatic android.util.PackageUtils.computeSignaturesSha256Digest:([Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 signatures [Landroid/content/pm/Signature;
3 4 1 sha256Digests [Ljava/lang/String;
MethodParameters:
Name Flags
signatures
public static java.lang.String computeSignaturesSha256Digest(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
if_icmpne 2
1: aload 0
iconst_0
aaload
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
3: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
start local 1 4: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: java.lang.String[] java.io.ByteArrayOutputStream top int int java.lang.String[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 1
aload 2
invokevirtual java.lang.String.getBytes:()[B
invokevirtual java.io.ByteArrayOutputStream.write:([B)V
7: goto 9
StackMap locals: java.lang.String[] java.io.ByteArrayOutputStream java.lang.String int int java.lang.String[]
StackMap stack: java.io.IOException
8: pop
end local 2 9: StackMap locals: java.lang.String[] java.io.ByteArrayOutputStream top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 5
11: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokestatic android.util.PackageUtils.computeSha256Digest:([B)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 sha256Digests [Ljava/lang/String;
4 12 1 bytes Ljava/io/ByteArrayOutputStream;
6 9 2 sha256Digest Ljava/lang/String;
Exception table:
from to target type
6 7 8 Class java.io.IOException
MethodParameters:
Name Flags
sha256Digests
public static byte[] computeSha256DigestBytes(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: ldc "SHA256"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 1
start local 1 1: goto 4
end local 1 StackMap locals:
StackMap stack: java.security.NoSuchAlgorithmException
2: pop
3: aconst_null
areturn
start local 1 4: StackMap locals: java.security.MessageDigest
StackMap stack:
aload 1
aload 0
invokevirtual java.security.MessageDigest.update:([B)V
5: aload 1
invokevirtual java.security.MessageDigest.digest:()[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 data [B
1 2 1 messageDigest Ljava/security/MessageDigest;
4 6 1 messageDigest Ljava/security/MessageDigest;
Exception table:
from to target type
0 1 2 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
data
public static java.lang.String computeSha256Digest(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic android.util.PackageUtils.computeSha256DigestBytes:([B)[B
invokestatic android.util.ByteStringUtils.toHexString:([B)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
MethodParameters:
Name Flags
data
}
SourceFile: "PackageUtils.java"