Info Call to Crypto API

Description

List of all calls to cryptographic methods.

Recommendation

Do not use insecure or weak cryptographic algorithms. For example, the Data Encryption Standard (DES) encryption algorithm is considered highly insecure

Do not use Object.equals() to compare cryptographic keys

Cryptographic keys should never be serialized

Technical details

Method com.google.android.gms.internal.ads.zzayi.zzc() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zzc(byte[] p16, byte[] p17)
    {
        if (p16.length > ((2147483647 - this.zzdmz) - 16)) {
            throw new java.security.GeneralSecurityException("plaintext too long");
        } else {
            byte v3_1;
            byte[] v9 = new byte[((this.zzdmz + p16.length) + 16)];
            byte v3_0 = com.google.android.gms.internal.ads.zzazl.zzbh(this.zzdmz);
            int v10 = 0;
            System.arraycopy(v3_0, 0, v9, 0, this.zzdmz);
            javax.crypto.Cipher v11 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v11.init(1, this.zzdmu);
            byte[] v13 = this.zza(v11, 0, v3_0, 0, v3_0.length);
            if (p17 != null) {
                v3_1 = p17;
            } else {
                byte[] v0_10 = new byte[0];
                v3_1 = v0_10;
            }
            byte[] v14 = this.zza(v11, 1, v3_1, 0, v3_1.length);
            byte[] v0_13 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v0_13.init(1, this.zzdmu, new javax.crypto.spec.IvParameterSpec(v13));
            v0_13.doFinal(p16, 0, p16.length, v9, this.zzdmz);
            byte[] v0_15 = this.zza(v11, 2, v9, this.zzdmz, p16.length);
            while (v10 < 16) {
                v9[((p16.length + this.zzdmz) + v10)] = ((byte) ((v14[v10] ^ v13[v10]) ^ v0_15[v10]));
                v10++;
            }
            return v9;
        }
    }

Method com.google.android.gms.internal.ads.zzayh.zzk() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zzk(byte[] p9)
    {
        if (p9.length > (2147483647 - this.zzdmv)) {
            int v2_6 = (2147483647 - this.zzdmv);
            StringBuilder v1_1 = new StringBuilder(43);
            v1_1.append("plaintext length can not exceed ");
            v1_1.append(v2_6);
            throw new java.security.GeneralSecurityException(v1_1.toString());
        } else {
            String v0_5 = new byte[(this.zzdmv + p9.length)];
            StringBuilder v1_4 = com.google.android.gms.internal.ads.zzazl.zzbh(this.zzdmv);
            System.arraycopy(v1_4, 0, v0_5, 0, this.zzdmv);
            int v7 = p9.length;
            int v6 = this.zzdmv;
            int v2_4 = ((javax.crypto.Cipher) com.google.android.gms.internal.ads.zzayy.zzdnz.zzek("AES/CTR/NoPadding"));
            int v4_2 = new byte[this.zzdmw];
            System.arraycopy(v1_4, 0, v4_2, 0, this.zzdmv);
            v2_4.init(1, this.zzdmu, new javax.crypto.spec.IvParameterSpec(v4_2));
            if (v2_4.doFinal(p9, 0, v7, v0_5, v6) != v7) {
                throw new java.security.GeneralSecurityException("stored output\'s length does not match input\'s length");
            } else {
                return v0_5;
            }
        }
    }

Method com.paypal.android.sdk.onetouch.core.c.b.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public byte[] a(byte[] p8, byte[] p9)
    {
        if (p8.length < 48) {
            throw new com.paypal.android.sdk.onetouch.core.exception.InvalidEncryptionDataException("data is too small");
        } else {
            javax.crypto.Cipher v1_3 = new byte[16];
            System.arraycopy(p9, 0, v1_3, 0, 16);
            byte[] v3 = new byte[16];
            System.arraycopy(p9, 16, v3, 0, 16);
            byte[] v4 = new byte[32];
            System.arraycopy(p8, 0, v4, 0, 32);
            byte[] v5_2 = new byte[(p8.length - 32)];
            System.arraycopy(p8, 32, v5_2, 0, (p8.length - 32));
            if (!com.paypal.android.sdk.onetouch.core.c.a.a(this.b(v5_2, v3), v4)) {
                throw new IllegalArgumentException("Signature mismatch");
            } else {
                IllegalArgumentException v8_6 = new byte[16];
                System.arraycopy(v5_2, 0, v8_6, 0, 16);
                String v9_4 = new javax.crypto.spec.IvParameterSpec(v8_6);
                IllegalArgumentException v8_8 = new javax.crypto.spec.SecretKeySpec(v1_3, "AES");
                javax.crypto.Cipher v1_2 = javax.crypto.Cipher.getInstance("AES/CTR/NoPadding");
                v1_2.init(2, v8_8, v9_4);
                return v1_2.doFinal(v5_2, 16, (v5_2.length - 16));
            }
        }
    }

Method com.google.android.gms.internal.ads.zzck.zza() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zza(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ads.zzbi.zza(p7, 0);
            } catch (com.google.android.gms.internal.ads.zzcl v6_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_11);
            } catch (com.google.android.gms.internal.ads.zzcl v6_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_10);
            } catch (com.google.android.gms.internal.ads.zzcl v6_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_9);
            } catch (com.google.android.gms.internal.ads.zzcl v6_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_8);
            } catch (com.google.android.gms.internal.ads.zzcl v6_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_7);
            } catch (com.google.android.gms.internal.ads.zzcl v6_6) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_6);
            } catch (com.google.android.gms.internal.ads.zzcl v6_5) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.ads.zzcl(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                com.google.android.gms.internal.ads.zzck.getCipher().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return com.google.android.gms.internal.ads.zzck.getCipher().doFinal(v7_3);
            }
        }
    }

Method net.skyscanner.nid.entity.g.b() calling method javax.crypto.Cipher.getInstance()


    String b(String p3, String p4)
    {
        try {
            Exception v3_1 = this.a(p3);
            net.skyscanner.nid.entity.NIDEncryptionException v4_5 = android.util.Base64.decode(p4, 0);
            net.skyscanner.nid.entity.NIDEncryptionException$a v0_3 = javax.crypto.Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
            v0_3.init(2, v3_1);
            return new String(v0_3.doFinal(v4_5));
        } catch (Exception v3_3) {
            throw new net.skyscanner.nid.entity.NIDEncryptionException(net.skyscanner.nid.entity.NIDEncryptionException$a.a, v3_3);
        }
    }

Method net.skyscanner.nid.entity.g.a() calling method javax.crypto.Cipher.getInstance()


    public String a(String p3, String p4)
    {
        try {
            Exception v3_1 = this.a(p3);
            net.skyscanner.nid.entity.NIDEncryptionException$a v0_2 = javax.crypto.Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
            v0_2.init(1, v3_1);
            return android.util.Base64.encodeToString(v0_2.doFinal(p4.getBytes()), 0);
        } catch (Exception v3_4) {
            throw new net.skyscanner.nid.entity.NIDEncryptionException(net.skyscanner.nid.entity.NIDEncryptionException$a.b, v3_4);
        }
    }

Method net.skyscanner.app.di.a.b.e() calling method javax.crypto.Cipher.getInstance()


    protected javax.crypto.Cipher e()
    {
        try {
            return javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
        } catch (java.security.NoSuchAlgorithmException) {
            return 0;
        }
    }

Method com.google.android.gms.internal.ads.zzaza.zzb() calling method javax.crypto.Cipher.getInstance()


    public final synthetic Object zzb(String p1, java.security.Provider p2)
    {
        if (p2 != null) {
            return javax.crypto.Cipher.getInstance(p1, p2);
        } else {
            return javax.crypto.Cipher.getInstance(p1);
        }
    }

Method com.google.android.gms.internal.ads.zzayi.zzc() calling method javax.crypto.Cipher.getInstance()


    public final byte[] zzc(byte[] p16, byte[] p17)
    {
        if (p16.length > ((2147483647 - this.zzdmz) - 16)) {
            throw new java.security.GeneralSecurityException("plaintext too long");
        } else {
            byte v3_1;
            byte[] v9 = new byte[((this.zzdmz + p16.length) + 16)];
            byte v3_0 = com.google.android.gms.internal.ads.zzazl.zzbh(this.zzdmz);
            int v10 = 0;
            System.arraycopy(v3_0, 0, v9, 0, this.zzdmz);
            javax.crypto.Cipher v11 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v11.init(1, this.zzdmu);
            byte[] v13 = this.zza(v11, 0, v3_0, 0, v3_0.length);
            if (p17 != null) {
                v3_1 = p17;
            } else {
                byte[] v0_10 = new byte[0];
                v3_1 = v0_10;
            }
            byte[] v14 = this.zza(v11, 1, v3_1, 0, v3_1.length);
            byte[] v0_13 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v0_13.init(1, this.zzdmu, new javax.crypto.spec.IvParameterSpec(v13));
            v0_13.doFinal(p16, 0, p16.length, v9, this.zzdmz);
            byte[] v0_15 = this.zza(v11, 2, v9, this.zzdmz, p16.length);
            while (v10 < 16) {
                v9[((p16.length + this.zzdmz) + v10)] = ((byte) ((v14[v10] ^ v13[v10]) ^ v0_15[v10]));
                v10++;
            }
            return v9;
        }
    }

Method com.google.android.gms.internal.ads.zzayi.<init>() calling method javax.crypto.Cipher.getInstance()


    public zzayi(byte[] p3, int p4)
    {
        if ((p4 != 12) && (p4 != 16)) {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        } else {
            this.zzdmz = p4;
            this.zzdmu = new javax.crypto.spec.SecretKeySpec(p3, "AES");
            IllegalArgumentException v3_2 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v3_2.init(1, this.zzdmu);
            String v4_4 = new byte[16];
            this.zzdmx = com.google.android.gms.internal.ads.zzayi.zzl(v3_2.doFinal(v4_4));
            this.zzdmy = com.google.android.gms.internal.ads.zzayi.zzl(this.zzdmx);
            return;
        }
    }

Method com.paypal.android.sdk.onetouch.core.c.b.a() calling method javax.crypto.Cipher.getInstance()


    public byte[] a(byte[] p8, byte[] p9)
    {
        if (p8.length < 48) {
            throw new com.paypal.android.sdk.onetouch.core.exception.InvalidEncryptionDataException("data is too small");
        } else {
            javax.crypto.Cipher v1_3 = new byte[16];
            System.arraycopy(p9, 0, v1_3, 0, 16);
            byte[] v3 = new byte[16];
            System.arraycopy(p9, 16, v3, 0, 16);
            byte[] v4 = new byte[32];
            System.arraycopy(p8, 0, v4, 0, 32);
            byte[] v5_2 = new byte[(p8.length - 32)];
            System.arraycopy(p8, 32, v5_2, 0, (p8.length - 32));
            if (!com.paypal.android.sdk.onetouch.core.c.a.a(this.b(v5_2, v3), v4)) {
                throw new IllegalArgumentException("Signature mismatch");
            } else {
                IllegalArgumentException v8_6 = new byte[16];
                System.arraycopy(v5_2, 0, v8_6, 0, 16);
                String v9_4 = new javax.crypto.spec.IvParameterSpec(v8_6);
                IllegalArgumentException v8_8 = new javax.crypto.spec.SecretKeySpec(v1_3, "AES");
                javax.crypto.Cipher v1_2 = javax.crypto.Cipher.getInstance("AES/CTR/NoPadding");
                v1_2.init(2, v8_8, v9_4);
                return v1_2.doFinal(v5_2, 16, (v5_2.length - 16));
            }
        }
    }

Method com.google.android.gms.internal.ads.zzck.getCipher() calling method javax.crypto.Cipher.getInstance()


    private static javax.crypto.Cipher getCipher()
    {
        try {
            if (com.google.android.gms.internal.ads.zzck.zzrf == null) {
                com.google.android.gms.internal.ads.zzck.zzrf = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            }
        } catch (javax.crypto.Cipher v1_4) {
            throw v1_4;
        }
        return com.google.android.gms.internal.ads.zzck.zzrf;
    }

Method com.google.android.gms.internal.ads.zzck.zzb() calling method javax.crypto.Cipher.getIV()


    public final String zzb(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_7);
            }
            com.google.android.gms.internal.ads.zzck.getCipher().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = com.google.android.gms.internal.ads.zzck.getCipher().doFinal(p6);
            java.nio.ByteBuffer v0_3 = com.google.android.gms.internal.ads.zzck.getCipher().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ads.zzbi.zza(v5_4, 0);
        }
    }

Method net.skyscanner.nid.entity.g.b() calling method javax.crypto.Cipher.doFinal()


    String b(String p3, String p4)
    {
        try {
            Exception v3_1 = this.a(p3);
            net.skyscanner.nid.entity.NIDEncryptionException v4_5 = android.util.Base64.decode(p4, 0);
            net.skyscanner.nid.entity.NIDEncryptionException$a v0_3 = javax.crypto.Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
            v0_3.init(2, v3_1);
            return new String(v0_3.doFinal(v4_5));
        } catch (Exception v3_3) {
            throw new net.skyscanner.nid.entity.NIDEncryptionException(net.skyscanner.nid.entity.NIDEncryptionException$a.a, v3_3);
        }
    }

Method net.skyscanner.nid.entity.g.a() calling method javax.crypto.Cipher.doFinal()


    public String a(String p3, String p4)
    {
        try {
            Exception v3_1 = this.a(p3);
            net.skyscanner.nid.entity.NIDEncryptionException$a v0_2 = javax.crypto.Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
            v0_2.init(1, v3_1);
            return android.util.Base64.encodeToString(v0_2.doFinal(p4.getBytes()), 0);
        } catch (Exception v3_4) {
            throw new net.skyscanner.nid.entity.NIDEncryptionException(net.skyscanner.nid.entity.NIDEncryptionException$a.b, v3_4);
        }
    }

Method com.google.android.gms.internal.ads.zzayj.zzc() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzc(byte[] p9, byte[] p10)
    {
        if (p9.length > 2147483619) {
            throw new java.security.GeneralSecurityException("plaintext too long");
        } else {
            byte[] v0_2 = new byte[((p9.length + 12) + 16)];
            javax.crypto.Cipher v2_0 = com.google.android.gms.internal.ads.zzazl.zzbh(12);
            System.arraycopy(v2_0, 0, v0_2, 0, 12);
            javax.crypto.Cipher v1_3 = ((javax.crypto.Cipher) com.google.android.gms.internal.ads.zzayy.zzdnz.zzek("AES/GCM/NoPadding"));
            v1_3.init(1, this.zzdna, new javax.crypto.spec.GCMParameterSpec(128, v2_0));
            if (p10 == null) {
                p10 = new byte[0];
            }
            v1_3.updateAAD(p10);
            v1_3.doFinal(p9, 0, p9.length, v0_2, 12);
            return v0_2;
        }
    }

Method com.google.android.gms.internal.ads.zzayi.zzc() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzc(byte[] p16, byte[] p17)
    {
        if (p16.length > ((2147483647 - this.zzdmz) - 16)) {
            throw new java.security.GeneralSecurityException("plaintext too long");
        } else {
            byte v3_1;
            byte[] v9 = new byte[((this.zzdmz + p16.length) + 16)];
            byte v3_0 = com.google.android.gms.internal.ads.zzazl.zzbh(this.zzdmz);
            int v10 = 0;
            System.arraycopy(v3_0, 0, v9, 0, this.zzdmz);
            javax.crypto.Cipher v11 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v11.init(1, this.zzdmu);
            byte[] v13 = this.zza(v11, 0, v3_0, 0, v3_0.length);
            if (p17 != null) {
                v3_1 = p17;
            } else {
                byte[] v0_10 = new byte[0];
                v3_1 = v0_10;
            }
            byte[] v14 = this.zza(v11, 1, v3_1, 0, v3_1.length);
            byte[] v0_13 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v0_13.init(1, this.zzdmu, new javax.crypto.spec.IvParameterSpec(v13));
            v0_13.doFinal(p16, 0, p16.length, v9, this.zzdmz);
            byte[] v0_15 = this.zza(v11, 2, v9, this.zzdmz, p16.length);
            while (v10 < 16) {
                v9[((p16.length + this.zzdmz) + v10)] = ((byte) ((v14[v10] ^ v13[v10]) ^ v0_15[v10]));
                v10++;
            }
            return v9;
        }
    }

Method com.google.android.gms.internal.ads.zzayi.zza() calling method javax.crypto.Cipher.doFinal()


    private final byte[] zza(javax.crypto.Cipher p7, int p8, byte[] p9, int p10, int p11)
    {
        byte[] v8_10;
        int v1_0 = new byte[16];
        v1_0[15] = ((byte) p8);
        if (p11 != 0) {
            int v1_1 = 0;
            byte[] v2_1 = p7.doFinal(v1_0);
            byte[] v8_1 = 0;
            while ((p11 - v8_1) > 16) {
                int v3_1 = 0;
                while (v3_1 < 16) {
                    v2_1[v3_1] = ((byte) (v2_1[v3_1] ^ p9[((p10 + v8_1) + v3_1)]));
                    v3_1++;
                }
                v2_1 = p7.doFinal(v2_1);
                v8_1 += 16;
            }
            byte[] v8_9;
            byte[] v8_3 = java.util.Arrays.copyOfRange(p9, (v8_1 + p10), (p10 + p11));
            if (v8_3.length != 16) {
                byte[] v9_3 = java.util.Arrays.copyOf(this.zzdmy, 16);
                while (v1_1 < v8_3.length) {
                    v9_3[v1_1] = ((byte) (v9_3[v1_1] ^ v8_3[v1_1]));
                    v1_1++;
                }
                v9_3[v8_3.length] = ((byte) (v9_3[v8_3.length] ^ 128));
                v8_9 = v9_3;
            } else {
                v8_9 = com.google.android.gms.internal.ads.zzayi.zzd(v8_3, this.zzdmx);
            }
            v8_10 = com.google.android.gms.internal.ads.zzayi.zzd(v2_1, v8_9);
        } else {
            v8_10 = com.google.android.gms.internal.ads.zzayi.zzd(v1_0, this.zzdmx);
        }
        return p7.doFinal(v8_10);
    }

Method com.google.android.gms.internal.ads.zzayi.<init>() calling method javax.crypto.Cipher.doFinal()


    public zzayi(byte[] p3, int p4)
    {
        if ((p4 != 12) && (p4 != 16)) {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        } else {
            this.zzdmz = p4;
            this.zzdmu = new javax.crypto.spec.SecretKeySpec(p3, "AES");
            IllegalArgumentException v3_2 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v3_2.init(1, this.zzdmu);
            String v4_4 = new byte[16];
            this.zzdmx = com.google.android.gms.internal.ads.zzayi.zzl(v3_2.doFinal(v4_4));
            this.zzdmy = com.google.android.gms.internal.ads.zzayi.zzl(this.zzdmx);
            return;
        }
    }

Method com.google.android.gms.internal.ads.zzayh.zzk() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzk(byte[] p9)
    {
        if (p9.length > (2147483647 - this.zzdmv)) {
            int v2_6 = (2147483647 - this.zzdmv);
            StringBuilder v1_1 = new StringBuilder(43);
            v1_1.append("plaintext length can not exceed ");
            v1_1.append(v2_6);
            throw new java.security.GeneralSecurityException(v1_1.toString());
        } else {
            String v0_5 = new byte[(this.zzdmv + p9.length)];
            StringBuilder v1_4 = com.google.android.gms.internal.ads.zzazl.zzbh(this.zzdmv);
            System.arraycopy(v1_4, 0, v0_5, 0, this.zzdmv);
            int v7 = p9.length;
            int v6 = this.zzdmv;
            int v2_4 = ((javax.crypto.Cipher) com.google.android.gms.internal.ads.zzayy.zzdnz.zzek("AES/CTR/NoPadding"));
            int v4_2 = new byte[this.zzdmw];
            System.arraycopy(v1_4, 0, v4_2, 0, this.zzdmv);
            v2_4.init(1, this.zzdmu, new javax.crypto.spec.IvParameterSpec(v4_2));
            if (v2_4.doFinal(p9, 0, v7, v0_5, v6) != v7) {
                throw new java.security.GeneralSecurityException("stored output\'s length does not match input\'s length");
            } else {
                return v0_5;
            }
        }
    }

Method com.paypal.android.sdk.onetouch.core.c.b.a() calling method javax.crypto.Cipher.doFinal()


    public byte[] a(byte[] p8, byte[] p9)
    {
        if (p8.length < 48) {
            throw new com.paypal.android.sdk.onetouch.core.exception.InvalidEncryptionDataException("data is too small");
        } else {
            javax.crypto.Cipher v1_3 = new byte[16];
            System.arraycopy(p9, 0, v1_3, 0, 16);
            byte[] v3 = new byte[16];
            System.arraycopy(p9, 16, v3, 0, 16);
            byte[] v4 = new byte[32];
            System.arraycopy(p8, 0, v4, 0, 32);
            byte[] v5_2 = new byte[(p8.length - 32)];
            System.arraycopy(p8, 32, v5_2, 0, (p8.length - 32));
            if (!com.paypal.android.sdk.onetouch.core.c.a.a(this.b(v5_2, v3), v4)) {
                throw new IllegalArgumentException("Signature mismatch");
            } else {
                IllegalArgumentException v8_6 = new byte[16];
                System.arraycopy(v5_2, 0, v8_6, 0, 16);
                String v9_4 = new javax.crypto.spec.IvParameterSpec(v8_6);
                IllegalArgumentException v8_8 = new javax.crypto.spec.SecretKeySpec(v1_3, "AES");
                javax.crypto.Cipher v1_2 = javax.crypto.Cipher.getInstance("AES/CTR/NoPadding");
                v1_2.init(2, v8_8, v9_4);
                return v1_2.doFinal(v5_2, 16, (v5_2.length - 16));
            }
        }
    }

Method com.google.android.gms.internal.ads.zzck.zzb() calling method javax.crypto.Cipher.doFinal()


    public final String zzb(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_7);
            }
            com.google.android.gms.internal.ads.zzck.getCipher().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = com.google.android.gms.internal.ads.zzck.getCipher().doFinal(p6);
            java.nio.ByteBuffer v0_3 = com.google.android.gms.internal.ads.zzck.getCipher().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ads.zzbi.zza(v5_4, 0);
        }
    }

Method com.google.android.gms.internal.ads.zzck.zza() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zza(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ads.zzbi.zza(p7, 0);
            } catch (com.google.android.gms.internal.ads.zzcl v6_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_11);
            } catch (com.google.android.gms.internal.ads.zzcl v6_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_10);
            } catch (com.google.android.gms.internal.ads.zzcl v6_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_9);
            } catch (com.google.android.gms.internal.ads.zzcl v6_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_8);
            } catch (com.google.android.gms.internal.ads.zzcl v6_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_7);
            } catch (com.google.android.gms.internal.ads.zzcl v6_6) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_6);
            } catch (com.google.android.gms.internal.ads.zzcl v6_5) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.ads.zzcl(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                com.google.android.gms.internal.ads.zzck.getCipher().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return com.google.android.gms.internal.ads.zzck.getCipher().doFinal(v7_3);
            }
        }
    }

Method okio.HashingSource.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private HashingSource(okio.Source p2, okio.ByteString p3, String p4)
    {
        super(p2);
        try {
            super.mac = javax.crypto.Mac.getInstance(p4);
            super.mac.init(new javax.crypto.spec.SecretKeySpec(p3.toByteArray(), p4));
            super.messageDigest = 0;
            return;
        } catch (java.security.NoSuchAlgorithmException) {
            throw new AssertionError();
        } catch (java.security.InvalidKeyException v2_2) {
            throw new IllegalArgumentException(v2_2);
        }
    }

Method okio.HashingSink.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private HashingSink(okio.Sink p2, okio.ByteString p3, String p4)
    {
        super(p2);
        try {
            super.mac = javax.crypto.Mac.getInstance(p4);
            super.mac.init(new javax.crypto.spec.SecretKeySpec(p3.toByteArray(), p4));
            super.messageDigest = 0;
            return;
        } catch (java.security.NoSuchAlgorithmException) {
            throw new AssertionError();
        } catch (java.security.InvalidKeyException v2_2) {
            throw new IllegalArgumentException(v2_2);
        }
    }

Method okio.Buffer.hmac() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private okio.ByteString hmac(String p5, okio.ByteString p6)
    {
        try {
            javax.crypto.Mac v0 = javax.crypto.Mac.getInstance(p5);
            v0.init(new javax.crypto.spec.SecretKeySpec(p6.toByteArray(), p5));
        } catch (java.security.NoSuchAlgorithmException) {
            throw new AssertionError();
        } catch (okio.Segment v5_5) {
            throw new IllegalArgumentException(v5_5);
        }
        if (this.head != null) {
            v0.update(this.head.data, this.head.pos, (this.head.limit - this.head.pos));
            okio.Segment v5_2 = this.head;
            while(true) {
                v5_2 = v5_2.next;
                if (v5_2 == this.head) {
                    break;
                }
                v0.update(v5_2.data, v5_2.pos, (v5_2.limit - v5_2.pos));
            }
        }
        return okio.ByteString.of(v0.doFinal());
    }

Method okio.ByteString.hmac() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private okio.ByteString hmac(String p3, okio.ByteString p4)
    {
        try {
            javax.crypto.Mac v0 = javax.crypto.Mac.getInstance(p3);
            v0.init(new javax.crypto.spec.SecretKeySpec(p4.toByteArray(), p3));
            return okio.ByteString.of(v0.doFinal(this.data));
        } catch (java.security.InvalidKeyException v3_3) {
            throw new AssertionError(v3_3);
        } catch (java.security.InvalidKeyException v3_2) {
            throw new IllegalArgumentException(v3_2);
        }
    }

Method net.skyscanner.app.data.common.network.e.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private final String a(byte[] p4, String p5)
    {
        javax.crypto.Mac v1 = javax.crypto.Mac.getInstance("HmacSHA256");
        v1.init(((java.security.Key) new javax.crypto.spec.SecretKeySpec(p4, "HmacSHA256")));
        if (p5 == null) {
            throw new kotlin.TypeCastException("null cannot be cast to non-null type java.lang.String");
        } else {
            kotlin.TypeCastException v4_2 = p5.getBytes(kotlin.text.Charsets.UTF_8);
            kotlin.jvm.internal.Intrinsics.checkExpressionValueIsNotNull(v4_2, "(this as java.lang.String).getBytes(charset)");
            kotlin.TypeCastException v4_4 = android.util.Base64.encodeToString(v1.doFinal(v4_2), 2);
            kotlin.jvm.internal.Intrinsics.checkExpressionValueIsNotNull(v4_4, "encodeToString(sha256Hma\u2026.toByteArray()), NO_WRAP)");
            return v4_4;
        }
    }

Method net.skyscanner.nid.entity.g.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    String a()
    {
        String v0_1 = new byte[16];
        new java.security.SecureRandom().nextBytes(v0_1);
        return android.util.Base64.encodeToString(new javax.crypto.spec.SecretKeySpec(v0_1, "AES").getEncoded(), 0);
    }

Method net.skyscanner.nid.entity.g.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private java.security.Key a(String p3)
    {
        return new javax.crypto.spec.SecretKeySpec(android.util.Base64.decode(p3, 0), "AES");
    }

Method io.jsonwebtoken.impl.crypto.MacSigner.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public MacSigner(io.jsonwebtoken.SignatureAlgorithm p3, byte[] p4)
    {
        this(p3, new javax.crypto.spec.SecretKeySpec(p4, p3.getJcaName()));
        return;
    }

Method io.jsonwebtoken.impl.DefaultJwtBuilder.compact() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public String compact()
    {
        if ((this.payload == null) && (io.jsonwebtoken.lang.Collections.isEmpty(this.claims))) {
            throw new IllegalStateException("Either \'payload\' or \'claims\' must be specified.");
        } else {
            if ((this.payload != null) && (!io.jsonwebtoken.lang.Collections.isEmpty(this.claims))) {
                throw new IllegalStateException("Both \'payload\' and \'claims\' cannot both be specified. Choose either one.");
            } else {
                if ((this.key != null) && (this.keyBytes != null)) {
                    throw new IllegalStateException("A key object and key bytes cannot both be specified. Choose either one.");
                } else {
                    String v0_13 = this.ensureHeader();
                    StringBuilder v1_6 = this.key;
                    if ((v1_6 == null) && (!io.jsonwebtoken.lang.Objects.isEmpty(this.keyBytes))) {
                        v1_6 = new javax.crypto.spec.SecretKeySpec(this.keyBytes, this.algorithm.getJcaName());
                    }
                    String v0_15;
                    if (!(v0_13 instanceof io.jsonwebtoken.JwsHeader)) {
                        v0_15 = new io.jsonwebtoken.impl.DefaultJwsHeader(v0_13);
                    } else {
                        v0_15 = ((io.jsonwebtoken.JwsHeader) v0_13);
                    }
                    if (v1_6 == null) {
                        v0_15.setAlgorithm(io.jsonwebtoken.SignatureAlgorithm.NONE.getValue());
                    } else {
                        v0_15.setAlgorithm(this.algorithm.getValue());
                    }
                    if (this.compressionCodec != null) {
                        v0_15.setCompressionAlgorithm(this.compressionCodec.getAlgorithmName());
                    }
                    String v2_18;
                    String v0_17 = this.base64UrlEncode(v0_15, "Unable to serialize header to json.");
                    if (this.compressionCodec == null) {
                        if (this.payload == null) {
                            v2_18 = this.base64UrlEncode(this.claims, "Unable to serialize claims object to json.");
                        } else {
                            v2_18 = io.jsonwebtoken.impl.TextCodec.BASE64URL.encode(this.payload);
                        }
                    } else {
                        try {
                            String v2_22;
                            if (this.payload == null) {
                                v2_22 = this.toJson(this.claims);
                            } else {
                                v2_22 = this.payload.getBytes(io.jsonwebtoken.lang.Strings.UTF_8);
                            }
                        } catch (com.fasterxml.jackson.core.JsonProcessingException) {
                            throw new IllegalArgumentException("Unable to serialize claims object to json.");
                        }
                        v2_18 = io.jsonwebtoken.impl.TextCodec.BASE64URL.encode(this.compressionCodec.compress(v2_22));
                    }
                    String v0_3;
                    StringBuilder v3_10 = new StringBuilder();
                    v3_10.append(v0_17);
                    v3_10.append(46);
                    v3_10.append(v2_18);
                    String v2_0 = v3_10.toString();
                    if (v1_6 == null) {
                        StringBuilder v1_1 = new StringBuilder();
                        v1_1.append(v2_0);
                        v1_1.append(46);
                        v0_3 = v1_1.toString();
                    } else {
                        StringBuilder v1_3 = this.createSigner(this.algorithm, v1_6).sign(v2_0);
                        StringBuilder v3_2 = new StringBuilder();
                        v3_2.append(v2_0);
                        v3_2.append(46);
                        v3_2.append(v1_3);
                        v0_3 = v3_2.toString();
                    }
                    return v0_3;
                }
            }
        }
    }

Method io.jsonwebtoken.impl.crypto.MacProvider.generateKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static javax.crypto.SecretKey generateKey(io.jsonwebtoken.SignatureAlgorithm p2, java.security.SecureRandom p3)
    {
        byte[] v0_1;
        io.jsonwebtoken.lang.Assert.isTrue(p2.isHmac(), "SignatureAlgorithm argument must represent an HMAC algorithm.");
        switch (io.jsonwebtoken.impl.crypto.MacProvider$1.$SwitchMap$io$jsonwebtoken$SignatureAlgorithm[p2.ordinal()]) {
            case 1:
                v0_1 = new byte[32];
                break;
            case 2:
                v0_1 = new byte[48];
                break;
            default:
                v0_1 = new byte[64];
        }
        p3.nextBytes(v0_1);
        return new javax.crypto.spec.SecretKeySpec(v0_1, p2.getJcaName());
    }

Method io.jsonwebtoken.impl.DefaultJwtParser.parse() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public io.jsonwebtoken.Jwt parse(String p14)
    {
        io.jsonwebtoken.lang.Assert.hasText(p14, "JWT String argument cannot be null or empty.");
        String v0_27 = new StringBuilder(128);
        io.jsonwebtoken.UnsupportedJwtException v1_15 = p14.toCharArray();
        String v2_17 = v1_15.length;
        long v3_0 = 0;
        java.util.Date v4_0 = 0;
        io.jsonwebtoken.impl.crypto.JwtSignatureValidator v7_0 = 0;
        long v8_0 = 0;
        io.jsonwebtoken.impl.DefaultClaims v5_0 = 0;
        java.security.Key v6_7 = 0;
        while (v5_0 < v2_17) {
            byte[] v11_1 = v1_15[v5_0];
            if (v11_1 != 46) {
                v0_27.append(v11_1);
            } else {
                int v9_2;
                int v9_1 = io.jsonwebtoken.lang.Strings.clean(v0_27);
                if (v9_1 == 0) {
                    v9_2 = 0;
                } else {
                    v9_2 = v9_1.toString();
                }
                if (v6_7 != null) {
                    if (v6_7 == 1) {
                        v7_0 = v9_2;
                    }
                } else {
                    v8_0 = v9_2;
                }
                v6_7++;
                v0_27.setLength(0);
            }
            v5_0++;
        }
        if (v6_7 != 2) {
            java.security.Key v14_19 = new StringBuilder();
            v14_19.append("JWT strings must contain exactly 2 period characters. Found: ");
            v14_19.append(v6_7);
            throw new io.jsonwebtoken.MalformedJwtException(v14_19.toString());
        } else {
            String v0_25;
            if (v0_27.length() <= 0) {
                v0_25 = 0;
            } else {
                v0_25 = v0_27.toString();
            }
            if (v7_0 == null) {
                io.jsonwebtoken.UnsupportedJwtException v1_11 = new StringBuilder();
                v1_11.append("JWT string \'");
                v1_11.append(p14);
                v1_11.append("\' is missing a body/payload.");
                throw new io.jsonwebtoken.MalformedJwtException(v1_11.toString());
            } else {
                java.security.Key v14_43;
                io.jsonwebtoken.UnsupportedJwtException v1_12;
                if (v8_0 == 0) {
                    v14_43 = 0;
                    v1_12 = 0;
                } else {
                    java.security.Key v14_46 = this.readValue(io.jsonwebtoken.impl.TextCodec.BASE64URL.decodeToString(v8_0));
                    if (v0_25 == null) {
                        v1_12 = new io.jsonwebtoken.impl.DefaultHeader(v14_46);
                    } else {
                        v1_12 = new io.jsonwebtoken.impl.DefaultJwsHeader(v14_46);
                    }
                    v14_43 = this.compressionCodecResolver.resolveCompressionCodec(v1_12);
                }
                String v2_13;
                if (v14_43 == null) {
                    v2_13 = io.jsonwebtoken.impl.TextCodec.BASE64URL.decodeToString(v7_0);
                } else {
                    v2_13 = new String(v14_43.decompress(io.jsonwebtoken.impl.TextCodec.BASE64URL.decode(v7_0)), io.jsonwebtoken.lang.Strings.UTF_8);
                }
                if ((v2_13.charAt(0) != 123) || (v2_13.charAt((v2_13.length() - 1)) != 125)) {
                    io.jsonwebtoken.impl.DefaultClaims v5_4 = 0;
                } else {
                    v5_4 = new io.jsonwebtoken.impl.DefaultClaims(this.readValue(v2_13));
                }
                if (v0_25 != null) {
                    java.security.Key v14_56 = ((io.jsonwebtoken.JwsHeader) v1_12);
                    if (v1_12 != null) {
                        java.security.Key v6_16 = v14_56.getAlgorithm();
                        if (io.jsonwebtoken.lang.Strings.hasText(v6_16)) {
                            v4_0 = io.jsonwebtoken.SignatureAlgorithm.forName(v6_16);
                        }
                    }
                    if ((v4_0 == null) || (v4_0 == io.jsonwebtoken.SignatureAlgorithm.NONE)) {
                        throw new io.jsonwebtoken.MalformedJwtException("JWT string has a digest/signature, but the header does not reference a valid signature algorithm.");
                    } else {
                        if ((this.key != null) && (this.keyBytes != null)) {
                            throw new IllegalStateException("A key object and key bytes cannot both be specified. Choose either.");
                        } else {
                            if (((this.key == null) && (this.keyBytes == null)) || (this.signingKeyResolver == null)) {
                                java.security.Key v6_6 = this.key;
                                if (v6_6 == null) {
                                    byte[] v11_0 = this.keyBytes;
                                    if ((io.jsonwebtoken.lang.Objects.isEmpty(v11_0)) && (this.signingKeyResolver != null)) {
                                        java.security.Key v14_5;
                                        if (v5_4 == null) {
                                            v14_5 = this.signingKeyResolver.resolveSigningKey(v14_56, v2_13);
                                        } else {
                                            v14_5 = this.signingKeyResolver.resolveSigningKey(v14_56, v5_4);
                                        }
                                        v6_6 = v14_5;
                                    }
                                    if (!io.jsonwebtoken.lang.Objects.isEmpty(v11_0)) {
                                        io.jsonwebtoken.lang.Assert.isTrue(v4_0.isHmac(), "Key bytes can only be specified for HMAC signatures. Please specify a PublicKey or PrivateKey instance.");
                                        v6_6 = new javax.crypto.spec.SecretKeySpec(v11_0, v4_0.getJcaName());
                                    }
                                }
                                io.jsonwebtoken.lang.Assert.notNull(v6_6, "A signing key must be specified if the specified JWT is digitally signed.");
                                java.security.Key v14_11 = new StringBuilder();
                                v14_11.append(v8_0);
                                v14_11.append(46);
                                v14_11.append(v7_0);
                                try {
                                    if (!this.createSignatureValidator(v4_0, v6_6).isValid(v14_11.toString(), v0_25)) {
                                        throw new io.jsonwebtoken.SignatureException("JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not be trusted.");
                                    }
                                } catch (java.security.Key v14_14) {
                                    String v0_3 = v4_0.getValue();
                                    io.jsonwebtoken.UnsupportedJwtException v1_1 = new StringBuilder();
                                    v1_1.append("The parsed JWT indicates it was signed with the ");
                                    v1_1.append(v0_3);
                                    v1_1.append(" signature algorithm, but the specified signing key of type ");
                                    v1_1.append(v6_6.getClass().getName());
                                    v1_1.append(" may not be used to validate ");
                                    v1_1.append(v0_3);
                                    v1_1.append(" signatures.  Because the specified signing key reflects a specific and expected algorithm, and the JWT does not reflect this algorithm, it is likely that the JWT was not expected and therefore should not be trusted.  Another possibility is that the parser was configured with the incorrect signing key, but this cannot be assumed for security reasons.");
                                    throw new io.jsonwebtoken.UnsupportedJwtException(v1_1.toString(), v14_14);
                                }
                            } else {
                                java.security.Key v14_38;
                                if (this.key == null) {
                                    v14_38 = "key bytes";
                                } else {
                                    v14_38 = "a key object";
                                }
                                io.jsonwebtoken.UnsupportedJwtException v1_9 = new StringBuilder();
                                v1_9.append("A signing key resolver and ");
                                v1_9.append(v14_38);
                                v1_9.append(" cannot both be specified. Choose either.");
                                throw new IllegalStateException(v1_9.toString());
                            }
                        }
                    }
                }
                if (this.allowedClockSkewMillis > 0) {
                    v3_0 = 1;
                }
                if (v5_4 != null) {
                    java.security.Key v14_21 = this.clock.now();
                    java.security.Key v6_13 = v14_21.getTime();
                    java.util.Date v4_1 = v5_4.getExpiration();
                    if (v4_1 != null) {
                        boolean v10_1;
                        long v8_3 = (v6_13 - this.allowedClockSkewMillis);
                        if (v3_0 == 0) {
                            v10_1 = v14_21;
                        } else {
                            v10_1 = new java.util.Date(v8_3);
                        }
                        if (v10_1.after(v4_1)) {
                            String v0_10 = new java.text.SimpleDateFormat("yyyy-MM-dd\'T\'HH:mm:ss\'Z\'");
                            String v2_6 = v0_10.format(v4_1);
                            java.security.Key v14_22 = v0_10.format(v14_21);
                            long v8_4 = (v8_3 - v4_1.getTime());
                            String v0_12 = new StringBuilder();
                            v0_12.append("JWT expired at ");
                            v0_12.append(v2_6);
                            v0_12.append(". Current time: ");
                            v0_12.append(v14_22);
                            v0_12.append(", a difference of ");
                            v0_12.append(v8_4);
                            v0_12.append(" milliseconds.  Allowed clock skew: ");
                            v0_12.append(this.allowedClockSkewMillis);
                            v0_12.append(" milliseconds.");
                            throw new io.jsonwebtoken.ExpiredJwtException(v1_12, v5_4, v0_12.toString());
                        }
                    }
                    java.util.Date v4_2 = v5_4.getNotBefore();
                    if (v4_2 != null) {
                        long v3_3;
                        java.security.Key v6_14 = (v6_13 + this.allowedClockSkewMillis);
                        if (v3_0 == 0) {
                            v3_3 = v14_21;
                        } else {
                            v3_3 = new java.util.Date(v6_14);
                        }
                        if (v3_3.before(v4_2)) {
                            String v0_17 = new java.text.SimpleDateFormat("yyyy-MM-dd\'T\'HH:mm:ss\'Z\'");
                            String v2_10 = v0_17.format(v4_2);
                            java.security.Key v14_28 = v0_17.format(v14_21);
                            long v3_7 = (v4_2.getTime() - v6_14);
                            String v0_20 = new StringBuilder();
                            v0_20.append("JWT must not be accepted before ");
                            v0_20.append(v2_10);
                            v0_20.append(". Current time: ");
                            v0_20.append(v14_28);
                            v0_20.append(", a difference of ");
                            v0_20.append(v3_7);
                            v0_20.append(" milliseconds.  Allowed clock skew: ");
                            v0_20.append(this.allowedClockSkewMillis);
                            v0_20.append(" milliseconds.");
                            throw new io.jsonwebtoken.PrematureJwtException(v1_12, v5_4, v0_20.toString());
                        }
                    }
                    this.validateExpectedClaims(v1_12, v5_4);
                }
                if (v5_4 != null) {
                    v2_13 = v5_4;
                }
                if (v0_25 == null) {
                    return new io.jsonwebtoken.impl.DefaultJwt(v1_12, v2_13);
                } else {
                    return new io.jsonwebtoken.impl.DefaultJws(((io.jsonwebtoken.JwsHeader) v1_12), v2_13, v0_25);
                }
            }
        }
    }

Method io.jsonwebtoken.SigningKeyResolverAdapter.resolveSigningKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public java.security.Key resolveSigningKey(io.jsonwebtoken.JwsHeader p5, String p6)
    {
        String v0_2 = io.jsonwebtoken.SignatureAlgorithm.forName(p5.getAlgorithm());
        boolean v1 = v0_2.isHmac();
        String v2_2 = new StringBuilder();
        v2_2.append("The default resolveSigningKey(JwsHeader, String) implementation cannot be used for asymmetric key algorithms (RSA, Elliptic Curve).  Override the resolveSigningKey(JwsHeader, String) method instead and return a Key instance appropriate for the ");
        v2_2.append(v0_2.name());
        v2_2.append(" algorithm.");
        io.jsonwebtoken.lang.Assert.isTrue(v1, v2_2.toString());
        return new javax.crypto.spec.SecretKeySpec(this.resolveSigningKeyBytes(p5, p6), v0_2.getJcaName());
    }

Method io.jsonwebtoken.SigningKeyResolverAdapter.resolveSigningKey() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public java.security.Key resolveSigningKey(io.jsonwebtoken.JwsHeader p5, io.jsonwebtoken.Claims p6)
    {
        String v0_2 = io.jsonwebtoken.SignatureAlgorithm.forName(p5.getAlgorithm());
        boolean v1 = v0_2.isHmac();
        String v2_2 = new StringBuilder();
        v2_2.append("The default resolveSigningKey(JwsHeader, Claims) implementation cannot be used for asymmetric key algorithms (RSA, Elliptic Curve).  Override the resolveSigningKey(JwsHeader, Claims) method instead and return a Key instance appropriate for the ");
        v2_2.append(v0_2.name());
        v2_2.append(" algorithm.");
        io.jsonwebtoken.lang.Assert.isTrue(v1, v2_2.toString());
        return new javax.crypto.spec.SecretKeySpec(this.resolveSigningKeyBytes(p5, p6), v0_2.getJcaName());
    }

Method com.google.android.gms.internal.ads.zzayj.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public zzayj(byte[] p3)
    {
        this.zzdna = new javax.crypto.spec.SecretKeySpec(p3, "AES");
        return;
    }

Method com.google.android.gms.internal.ads.zzayi.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public zzayi(byte[] p3, int p4)
    {
        if ((p4 != 12) && (p4 != 16)) {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        } else {
            this.zzdmz = p4;
            this.zzdmu = new javax.crypto.spec.SecretKeySpec(p3, "AES");
            IllegalArgumentException v3_2 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v3_2.init(1, this.zzdmu);
            String v4_4 = new byte[16];
            this.zzdmx = com.google.android.gms.internal.ads.zzayi.zzl(v3_2.doFinal(v4_4));
            this.zzdmy = com.google.android.gms.internal.ads.zzayi.zzl(this.zzdmx);
            return;
        }
    }

Method com.google.android.gms.internal.ads.zzayh.<init>() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public zzayh(byte[] p3, int p4)
    {
        this.zzdmu = new javax.crypto.spec.SecretKeySpec(p3, "AES");
        this.zzdmw = ((javax.crypto.Cipher) com.google.android.gms.internal.ads.zzayy.zzdnz.zzek("AES/CTR/NoPadding")).getBlockSize();
        if ((p4 < 12) || (p4 > this.zzdmw)) {
            throw new java.security.GeneralSecurityException("invalid IV size");
        } else {
            this.zzdmv = p4;
            return;
        }
    }

Method com.google.android.gms.internal.ads.zzavk.zza() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final synthetic Object zza(com.google.android.gms.internal.ads.zzbcu p5)
    {
        if (!(p5 instanceof com.google.android.gms.internal.ads.zzaxc)) {
            throw new java.security.GeneralSecurityException("expected HmacKey proto");
        } else {
            com.google.android.gms.internal.ads.zzazq.zzj(((com.google.android.gms.internal.ads.zzaxc) p5).getVersion(), 0);
            if (((com.google.android.gms.internal.ads.zzaxc) p5).zzwv().size() < 16) {
                throw new java.security.GeneralSecurityException("key too short");
            } else {
                com.google.android.gms.internal.ads.zzavk.zza(((com.google.android.gms.internal.ads.zzaxc) p5).zzym());
                com.google.android.gms.internal.ads.zzazj v0_6 = ((com.google.android.gms.internal.ads.zzaxc) p5).zzym().zzys();
                javax.crypto.spec.SecretKeySpec v2_1 = new javax.crypto.spec.SecretKeySpec(((com.google.android.gms.internal.ads.zzaxc) p5).zzwv().toByteArray(), "HMAC");
                java.security.GeneralSecurityException v5_5 = ((com.google.android.gms.internal.ads.zzaxc) p5).zzym().zzyt();
                switch (com.google.android.gms.internal.ads.zzavl.zzdhz[v0_6.ordinal()]) {
                    case 1:
                        return new com.google.android.gms.internal.ads.zzazj("HMACSHA1", v2_1, v5_5);
                    case 2:
                        return new com.google.android.gms.internal.ads.zzazj("HMACSHA256", v2_1, v5_5);
                    case 3:
                        return new com.google.android.gms.internal.ads.zzazj("HMACSHA512", v2_1, v5_5);
                    default:
                        throw new java.security.GeneralSecurityException("unknown hash");
                }
            }
        }
    }

Method com.google.android.gms.internal.ads.zzavk.zzh() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private final com.google.android.gms.internal.ads.zzauk zzh(com.google.android.gms.internal.ads.zzbah p5)
    {
        try {
            java.security.GeneralSecurityException v5_1 = com.google.android.gms.internal.ads.zzaxc.zzae(p5);
        } catch (java.security.GeneralSecurityException v5_10) {
            throw new java.security.GeneralSecurityException("expected serialized HmacKey proto", v5_10);
        }
        if (!(v5_1 instanceof com.google.android.gms.internal.ads.zzaxc)) {
            throw new java.security.GeneralSecurityException("expected HmacKey proto");
        } else {
            java.security.GeneralSecurityException v5_11 = ((com.google.android.gms.internal.ads.zzaxc) v5_1);
            com.google.android.gms.internal.ads.zzazq.zzj(v5_11.getVersion(), 0);
            if (v5_11.zzwv().size() < 16) {
                throw new java.security.GeneralSecurityException("key too short");
            } else {
                com.google.android.gms.internal.ads.zzauk v0_11;
                com.google.android.gms.internal.ads.zzavk.zza(v5_11.zzym());
                com.google.android.gms.internal.ads.zzauk v0_7 = v5_11.zzym().zzys();
                javax.crypto.spec.SecretKeySpec v2_1 = new javax.crypto.spec.SecretKeySpec(v5_11.zzwv().toByteArray(), "HMAC");
                java.security.GeneralSecurityException v5_6 = v5_11.zzym().zzyt();
                switch (com.google.android.gms.internal.ads.zzavl.zzdhz[v0_7.ordinal()]) {
                    case 1:
                        v0_11 = new com.google.android.gms.internal.ads.zzazj("HMACSHA1", v2_1, v5_6);
                        break;
                    case 2:
                        v0_11 = new com.google.android.gms.internal.ads.zzazj("HMACSHA256", v2_1, v5_6);
                        break;
                    case 3:
                        v0_11 = new com.google.android.gms.internal.ads.zzazj("HMACSHA512", v2_1, v5_6);
                        break;
                    default:
                        throw new java.security.GeneralSecurityException("unknown hash");
                }
                return ((com.google.android.gms.internal.ads.zzauk) v0_11);
            }
        }
    }

Method com.paypal.android.sdk.onetouch.core.c.b.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public byte[] a(byte[] p8, byte[] p9)
    {
        if (p8.length < 48) {
            throw new com.paypal.android.sdk.onetouch.core.exception.InvalidEncryptionDataException("data is too small");
        } else {
            javax.crypto.Cipher v1_3 = new byte[16];
            System.arraycopy(p9, 0, v1_3, 0, 16);
            byte[] v3 = new byte[16];
            System.arraycopy(p9, 16, v3, 0, 16);
            byte[] v4 = new byte[32];
            System.arraycopy(p8, 0, v4, 0, 32);
            byte[] v5_2 = new byte[(p8.length - 32)];
            System.arraycopy(p8, 32, v5_2, 0, (p8.length - 32));
            if (!com.paypal.android.sdk.onetouch.core.c.a.a(this.b(v5_2, v3), v4)) {
                throw new IllegalArgumentException("Signature mismatch");
            } else {
                IllegalArgumentException v8_6 = new byte[16];
                System.arraycopy(v5_2, 0, v8_6, 0, 16);
                String v9_4 = new javax.crypto.spec.IvParameterSpec(v8_6);
                IllegalArgumentException v8_8 = new javax.crypto.spec.SecretKeySpec(v1_3, "AES");
                javax.crypto.Cipher v1_2 = javax.crypto.Cipher.getInstance("AES/CTR/NoPadding");
                v1_2.init(2, v8_8, v9_4);
                return v1_2.doFinal(v5_2, 16, (v5_2.length - 16));
            }
        }
    }

Method com.paypal.android.sdk.onetouch.core.c.b.b() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private byte[] b(byte[] p4, byte[] p5)
    {
        javax.crypto.Mac v0_1 = javax.crypto.Mac.getInstance("HmacSHA256");
        v0_1.init(new javax.crypto.spec.SecretKeySpec(p5, "HmacSHA256"));
        return v0_1.doFinal(p4);
    }

Method com.google.android.gms.internal.ads.zzck.zzb() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final String zzb(byte[] p5, byte[] p6)
    {
        if (p5.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
            } catch (String v5_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_11);
            } catch (String v5_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_10);
            } catch (String v5_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_9);
            } catch (String v5_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_8);
            } catch (String v5_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v5_7);
            }
            com.google.android.gms.internal.ads.zzck.getCipher().init(1, new javax.crypto.spec.SecretKeySpec(p5, "AES"), 0);
            int v6_1 = com.google.android.gms.internal.ads.zzck.getCipher().doFinal(p6);
            java.nio.ByteBuffer v0_3 = com.google.android.gms.internal.ads.zzck.getCipher().getIV();
            String v5_2 = (v6_1.length + v0_3.length);
            java.nio.ByteBuffer v1_3 = java.nio.ByteBuffer.allocate(v5_2);
            v1_3.put(v0_3).put(v6_1);
            v1_3.flip();
            String v5_4 = new byte[v5_2];
            v1_3.get(v5_4);
            return com.google.android.gms.internal.ads.zzbi.zza(v5_4, 0);
        }
    }

Method com.google.android.gms.internal.ads.zzck.zza() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final byte[] zza(byte[] p6, String p7)
    {
        if (p6.length != 16) {
            throw new com.google.android.gms.internal.ads.zzcl(this);
        } else {
            try {
                Throwable v7_20 = com.google.android.gms.internal.ads.zzbi.zza(p7, 0);
            } catch (com.google.android.gms.internal.ads.zzcl v6_11) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_11);
            } catch (com.google.android.gms.internal.ads.zzcl v6_10) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_10);
            } catch (com.google.android.gms.internal.ads.zzcl v6_9) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_9);
            } catch (com.google.android.gms.internal.ads.zzcl v6_8) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_8);
            } catch (com.google.android.gms.internal.ads.zzcl v6_7) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_7);
            } catch (com.google.android.gms.internal.ads.zzcl v6_6) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_6);
            } catch (com.google.android.gms.internal.ads.zzcl v6_5) {
                throw new com.google.android.gms.internal.ads.zzcl(this, v6_5);
            }
            if (v7_20.length <= 16) {
                throw new com.google.android.gms.internal.ads.zzcl(this);
            } else {
                javax.crypto.Cipher v0_2 = java.nio.ByteBuffer.allocate(v7_20.length);
                v0_2.put(v7_20);
                v0_2.flip();
                byte[] v2 = new byte[16];
                Throwable v7_3 = new byte[(v7_20.length - 16)];
                v0_2.get(v2);
                v0_2.get(v7_3);
                com.google.android.gms.internal.ads.zzck.getCipher().init(2, new javax.crypto.spec.SecretKeySpec(p6, "AES"), new javax.crypto.spec.IvParameterSpec(v2));
                return com.google.android.gms.internal.ads.zzck.getCipher().doFinal(v7_3);
            }
        }
    }

Method com.google.android.gms.internal.ads.zzayr.zza() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public final com.google.android.gms.internal.ads.zzays zza(String p10, byte[] p11, byte[] p12, int p13, com.google.android.gms.internal.ads.zzayw p14)
    {
        byte[] v0_5 = com.google.android.gms.internal.ads.zzayt.zza(this.zzdnj.getParams());
        byte v1_6 = ((java.security.interfaces.ECPublicKey) v0_5.getPublic());
        byte[] v0_1 = ((java.security.interfaces.ECPrivateKey) v0_5.getPrivate());
        int v2_2 = this.zzdnj;
        byte[] v3_0 = v2_2.getParams();
        int v4_0 = v0_1.getParams();
        if ((!v3_0.getCurve().equals(v4_0.getCurve())) || ((!v3_0.getGenerator().equals(v4_0.getGenerator())) || ((!v3_0.getOrder().equals(v4_0.getOrder())) || (v3_0.getCofactor() != v4_0.getCofactor())))) {
            throw new java.security.GeneralSecurityException("invalid public key spec");
        } else {
            byte[] v14_4;
            byte[] v0_6 = com.google.android.gms.internal.ads.zzayt.zza(v0_1, v2_2.getW());
            int v2_18 = v1_6.getParams().getCurve();
            byte v1_4 = v1_6.getW();
            com.google.android.gms.internal.ads.zzayt.zza(v1_4, v2_18);
            int v2_19 = com.google.android.gms.internal.ads.zzayt.zzb(v2_18);
            int v5_0 = 1;
            switch (com.google.android.gms.internal.ads.zzayu.zzdnm[p14.ordinal()]) {
                case 1:
                    byte[] v14_6 = ((v2_19 * 2) + 1);
                    byte[] v3_6 = new byte[v14_6];
                    int v7_3 = v1_4.getAffineX().toByteArray();
                    byte v1_12 = v1_4.getAffineY().toByteArray();
                    System.arraycopy(v1_12, 0, v3_6, (v14_6 - v1_12.length), v1_12.length);
                    System.arraycopy(v7_3, 0, v3_6, ((v2_19 + 1) - v7_3.length), v7_3.length);
                    v3_6[0] = 4;
                    v14_4 = v3_6;
                    break;
                case 2:
                    byte v1_9;
                    int v2_20 = (v2_19 + 1);
                    v14_4 = new byte[v2_20];
                    byte[] v3_5 = v1_4.getAffineX().toByteArray();
                    System.arraycopy(v3_5, 0, v14_4, (v2_20 - v3_5.length), v3_5.length);
                    if (!v1_4.getAffineY().testBit(0)) {
                        v1_9 = 2;
                    } else {
                        v1_9 = 3;
                    }
                    v14_4[0] = ((byte) v1_9);
                    break;
                default:
                    int v11_6 = String.valueOf(p14);
                    int v13_3 = new StringBuilder((String.valueOf(v11_6).length() + 15));
                    v13_3.append("invalid format:");
                    v13_3.append(v11_6);
                    throw new java.security.GeneralSecurityException(v13_3.toString());
            }
            byte v1_0 = new byte[][2];
            v1_0[0] = v14_4;
            v1_0[1] = v0_6;
            byte[] v0_2 = com.google.android.gms.internal.ads.zzayk.zza(v1_0);
            byte v1_3 = ((javax.crypto.Mac) com.google.android.gms.internal.ads.zzayy.zzdoa.zzek(p10));
            if (p13 > (v1_3.getMacLength() * 255)) {
                throw new java.security.GeneralSecurityException("size too large");
            } else {
                if ((p11 != 0) && (p11.length != 0)) {
                    v1_3.init(new javax.crypto.spec.SecretKeySpec(p11, p10));
                } else {
                    int v2_9 = new byte[v1_3.getMacLength()];
                    v1_3.init(new javax.crypto.spec.SecretKeySpec(v2_9, p10));
                }
                byte[] v0_3 = new byte[p13];
                v1_3.init(new javax.crypto.spec.SecretKeySpec(v1_3.doFinal(v0_2), p10));
                com.google.android.gms.internal.ads.zzays v10_3 = new byte[0];
                int v11_5 = 0;
                while(true) {
                    v1_3.update(v10_3);
                    v1_3.update(p12);
                    v1_3.update(((byte) v5_0));
                    v10_3 = v1_3.doFinal();
                    if ((v10_3.length + v11_5) >= p13) {
                        break;
                    }
                    System.arraycopy(v10_3, 0, v0_3, v11_5, v10_3.length);
                    v11_5 += v10_3.length;
                    v5_0++;
                }
                System.arraycopy(v10_3, 0, v0_3, v11_5, (p13 - v11_5));
                return new com.google.android.gms.internal.ads.zzays(v14_4, v0_3);
            }
        }
    }