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 jp.moneytree.moneytree.common.e.b() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final String b(String p8)
    {
        kotlin.d.b.i.b(p8, "encrypted");
        byte[] v0_7 = p8.getBytes(jp.moneytree.moneytree.common.e$a.a(jp.moneytree.moneytree.common.e.a));
        kotlin.d.b.i.a(v0_7, "(this as java.lang.String).getBytes(charset)");
        String v2_0 = android.util.Base64.decode(v0_7, 2);
        this.b.init(2, ((java.security.Key) this.c), ((java.security.spec.AlgorithmParameterSpec) new javax.crypto.spec.IvParameterSpec(v2_0, 0, jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a))));
        byte[] v0_5 = this.b.doFinal(v2_0, jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a), (v2_0.length - jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a)));
        kotlin.d.b.i.a(v0_5, "decrypted");
        return new String(v0_5, jp.moneytree.moneytree.common.e$a.a(jp.moneytree.moneytree.common.e.a));
    }

Method com.google.android.gms.internal.zzdhq.zzd() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zzd(byte[] p13, byte[] p14)
    {
        int v2 = 0;
        if (p13.length <= ((2147483647 - this.d) - 16)) {
            byte[] v9 = new byte[((this.d + p13.length) + 16)];
            int v3_0 = com.google.android.gms.internal.zzdij.zzfn(this.d);
            System.arraycopy(v3_0, 0, v9, 0, this.d);
            byte[] v1_0 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v1_0.init(1, this.c);
            byte[] v0_8 = this.a(v1_0, 0, v3_0, 0, v3_0.length);
            byte[] v10 = this.a(v1_0, 1, p14, 0, p14.length);
            int v3_3 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v3_3.init(1, this.c, new javax.crypto.spec.IvParameterSpec(v0_8));
            v3_3.doFinal(p13, 0, p13.length, v9, this.d);
            byte[] v1_3 = this.a(v1_0, 2, v9, this.d, p13.length);
            while (v2 < 16) {
                v9[((p13.length + this.d) + v2)] = ((byte) ((v10[v2] ^ v0_8[v2]) ^ v1_3[v2]));
                v2++;
            }
            return v9;
        } else {
            throw new java.security.GeneralSecurityException("plaintext too long");
        }
    }

Method com.google.android.gms.internal.zzdhp.zzah() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zzah(byte[] p9)
    {
        if (p9.length <= (2147483647 - this.b)) {
            byte[] v4 = new byte[(this.b + p9.length)];
            String v1_0 = com.google.android.gms.internal.zzdij.zzfn(this.b);
            System.arraycopy(v1_0, 0, v4, 0, this.b);
            int v3_1 = p9.length;
            int v5 = this.b;
            java.security.GeneralSecurityException v0_5 = ((javax.crypto.Cipher) com.google.android.gms.internal.zzdhy.zzldj.zzny("AES/CTR/NoPadding"));
            int v6_2 = new byte[this.c];
            System.arraycopy(v1_0, 0, v6_2, 0, this.b);
            v0_5.init(1, this.a, new javax.crypto.spec.IvParameterSpec(v6_2));
            if (v0_5.doFinal(p9, 0, v3_1, v4, v5) == v3_1) {
                return v4;
            } else {
                throw new java.security.GeneralSecurityException("stored output\'s length does not match input\'s length");
            }
        } else {
            throw new java.security.GeneralSecurityException(new StringBuilder(43).append("plaintext length can not exceed ").append((2147483647 - this.b)).toString());
        }
    }

Method com.google.android.gms.internal.zzcx.zzb() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public final byte[] zzb(byte[] p8, String p9)
    {
        if (p8.length == 16) {
            try {
                Throwable v0_12 = com.google.android.gms.internal.zzbt.zza(p9, 0);
            } catch (Throwable v0_16) {
                throw new com.google.android.gms.internal.zzcy(this, v0_16);
            } catch (Throwable v0_15) {
                throw new com.google.android.gms.internal.zzcy(this, v0_15);
            } catch (Throwable v0_14) {
                throw new com.google.android.gms.internal.zzcy(this, v0_14);
            } catch (Throwable v0_13) {
                throw new com.google.android.gms.internal.zzcy(this, v0_13);
            } catch (Throwable v0_11) {
                throw new com.google.android.gms.internal.zzcy(this, v0_11);
            } catch (Throwable v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (Throwable v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            }
            if (v0_12.length > 16) {
                javax.crypto.Cipher v1_0 = java.nio.ByteBuffer.allocate(v0_12.length);
                v1_0.put(v0_12);
                v1_0.flip();
                byte[] v2_2 = new byte[16];
                Throwable v0_3 = new byte[(v0_12.length - 16)];
                v1_0.get(v2_2);
                v1_0.get(v0_3);
                com.google.android.gms.internal.zzcx.a().init(2, new javax.crypto.spec.SecretKeySpec(p8, "AES"), new javax.crypto.spec.IvParameterSpec(v2_2));
                return com.google.android.gms.internal.zzcx.a().doFinal(v0_3);
            } else {
                throw new com.google.android.gms.internal.zzcy(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

Method jp.moneytree.moneytree.common.e.<init>() calling method javax.crypto.Cipher.getInstance()


    public e(String p3, byte[] p4)
    {
        kotlin.d.b.i.b(p3, "provider");
        kotlin.d.b.i.b(p4, "privateKey");
        javax.crypto.spec.SecretKeySpec v0_5 = javax.crypto.Cipher.getInstance(jp.moneytree.moneytree.common.e$a.d(jp.moneytree.moneytree.common.e.a), p3);
        kotlin.d.b.i.a(v0_5, "Cipher.getInstance(ALGORITHM, provider)");
        this.b = v0_5;
        this.c = this.a(p4);
        return;
    }

Method jp.moneytree.moneytree.data.MTKeyStoreManager.f() calling method javax.crypto.Cipher.getInstance()


    public byte[] f(String p6)
    {
        if (this.f()) {
            try {
                int v0_15 = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
                v0_15.init(2, this.d);
                int v1_1 = new javax.crypto.CipherInputStream(new java.io.ByteArrayInputStream(android.util.Base64.decode(p6, 0)), v0_15);
                Object[] v3_3 = new java.util.ArrayList();
            } catch (int v0_4) {
                Object[] v3_5 = new Object[1];
                v3_5[0] = v0_4.getMessage();
                b.a.a.d(v0_4, "Decrypt failed. E: %s.", v3_5);
                throw new jp.moneytree.moneytree.data.MTKeyStoreManager$KeyStoreFailedToDecryptException(this, v0_4);
            }
            while(true) {
                int v0_1 = v1_1.read();
                if (v0_1 == -1) {
                    break;
                }
                v3_3.add(Byte.valueOf(((byte) v0_1)));
            }
            byte[] v4_3 = new byte[v3_3.size()];
            int v1_2 = 0;
            while (v1_2 < v4_3.length) {
                v4_3[v1_2] = ((Byte) v3_3.get(v1_2)).byteValue();
                v1_2++;
            }
            return v4_3;
        } else {
            Object[] v2_1 = new Object[0];
            b.a.a.d(new IllegalStateException(), "Decrypt without public key.", v2_1);
            throw new jp.moneytree.moneytree.data.MTKeyStoreManager$KeyStoreFailedToDecryptException(this, 0);
        }
    }

Method jp.moneytree.moneytree.data.MTKeyStoreManager.a() calling method javax.crypto.Cipher.getInstance()


    private String a(byte[] p6, java.security.PublicKey p7)
    {
        if (p7 != null) {
            try {
                Exception v0_8 = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
                v0_8.init(1, p7);
                ark>jp.moneytree.moneytree.data.MTKeyStoreManagerark>$KeyStoreFailedToEncryptException v1_8 = new java.io.ByteArrayOutputStream();
                Object[] v2_1 = new javax.crypto.CipherOutputStream(v1_8, v0_8);
                v2_1.write(p6);
                v2_1.close();
                return android.util.Base64.encodeToString(v1_8.toByteArray(), 0);
            } catch (Exception v0_2) {
                Object[] v2_2 = new Object[1];
                v2_2[0] = v0_2.getMessage();
                b.a.a.d(v0_2, "Encrypt failed. E: %s.", v2_2);
                throw new ark>jp.moneytree.moneytree.data.MTKeyStoreManagerark>$KeyStoreFailedToEncryptException(this, v0_2);
            }
        } else {
            Object[] v2_3 = new Object[0];
            b.a.a.d(new IllegalStateException(), "Encrypt without public key.", v2_3);
            throw new ark>jp.moneytree.moneytree.data.MTKeyStoreManagerark>$KeyStoreFailedToEncryptException(this, 0);
        }
    }

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


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

Method com.google.android.gms.internal.zzdhq.zzd() calling method javax.crypto.Cipher.getInstance()


    public final byte[] zzd(byte[] p13, byte[] p14)
    {
        int v2 = 0;
        if (p13.length <= ((2147483647 - this.d) - 16)) {
            byte[] v9 = new byte[((this.d + p13.length) + 16)];
            int v3_0 = com.google.android.gms.internal.zzdij.zzfn(this.d);
            System.arraycopy(v3_0, 0, v9, 0, this.d);
            byte[] v1_0 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v1_0.init(1, this.c);
            byte[] v0_8 = this.a(v1_0, 0, v3_0, 0, v3_0.length);
            byte[] v10 = this.a(v1_0, 1, p14, 0, p14.length);
            int v3_3 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v3_3.init(1, this.c, new javax.crypto.spec.IvParameterSpec(v0_8));
            v3_3.doFinal(p13, 0, p13.length, v9, this.d);
            byte[] v1_3 = this.a(v1_0, 2, v9, this.d, p13.length);
            while (v2 < 16) {
                v9[((p13.length + this.d) + v2)] = ((byte) ((v10[v2] ^ v0_8[v2]) ^ v1_3[v2]));
                v2++;
            }
            return v9;
        } else {
            throw new java.security.GeneralSecurityException("plaintext too long");
        }
    }

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


    public zzdhq(byte[] p5, int p6)
    {
        if ((p6 == 12) || (p6 == 16)) {
            this.d = p6;
            this.c = new javax.crypto.spec.SecretKeySpec(p5, "AES");
            IllegalArgumentException v0_1 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v0_1.init(1, this.c);
            String v1_1 = new byte[16];
            this.a = com.google.android.gms.internal.zzdhq.a(v0_1.doFinal(v1_1));
            this.b = com.google.android.gms.internal.zzdhq.a(this.a);
            return;
        } else {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        }
    }

Method com.google.android.gms.internal.zzcx.a() calling method javax.crypto.Cipher.getInstance()


    private static javax.crypto.Cipher a()
    {
        try {
            if (ark>com.google.android.gms.internal.zzcxark>.b == null) {
                ark>com.google.android.gms.internal.zzcxark>.b = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            }
        } catch (javax.crypto.Cipher v0_4) {
            throw v0_4;
        }
        return ark>com.google.android.gms.internal.zzcxark>.b;
    }

Method jp.moneytree.moneytree.common.e.a() calling method javax.crypto.Cipher.getIV()


    public final String a(String p6)
    {
        kotlin.d.b.i.b(p6, "plainText");
        this.b.init(1, ((java.security.Key) this.c));
        String v0_6 = this.b;
        String v1_1 = p6.getBytes(ark>jp.moneytree.moneytree.common.eark>$a.a(ark>jp.moneytree.moneytree.common.eark>.a));
        kotlin.d.b.i.a(v1_1, "(this as java.lang.String).getBytes(charset)");
        String v0_1 = v0_6.doFinal(v1_1);
        String v1_3 = this.b.getIV();
        byte[] v2_3 = new byte[(v1_3.length + v0_1.length)];
        System.arraycopy(v1_3, 0, v2_3, 0, v1_3.length);
        System.arraycopy(v0_1, 0, v2_3, v1_3.length, v0_1.length);
        String v0_3 = android.util.Base64.encodeToString(v2_3, 2);
        kotlin.d.b.i.a(v0_3, "Base64.encodeToString(buffer, Base64.NO_WRAP)");
        return v0_3;
    }

Method com.google.android.gms.internal.zzcx.zzc() calling method javax.crypto.Cipher.getIV()


    public final String zzc(byte[] p6, byte[] p7)
    {
        if (p6.length == 16) {
            try {
            } catch (String v0_12) {
                throw new com.google.android.gms.internal.zzcy(this, v0_12);
            } catch (String v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (String v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            } catch (String v0_8) {
                throw new com.google.android.gms.internal.zzcy(this, v0_8);
            } catch (String v0_7) {
                throw new com.google.android.gms.internal.zzcy(this, v0_7);
            }
            com.google.android.gms.internal.zzcx.a().init(1, new javax.crypto.spec.SecretKeySpec(p6, "AES"), 0);
            String v0_2 = com.google.android.gms.internal.zzcx.a().doFinal(p7);
            java.nio.ByteBuffer v2_1 = com.google.android.gms.internal.zzcx.a().getIV();
            int v1_2 = (v0_2.length + v2_1.length);
            java.nio.ByteBuffer v3_1 = java.nio.ByteBuffer.allocate(v1_2);
            v3_1.put(v2_1).put(v0_2);
            v3_1.flip();
            String v0_5 = new byte[v1_2];
            v3_1.get(v0_5);
            return com.google.android.gms.internal.zzbt.zza(v0_5, 0);
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

Method jp.moneytree.moneytree.common.e.b() calling method javax.crypto.Cipher.doFinal()


    public final String b(String p8)
    {
        kotlin.d.b.i.b(p8, "encrypted");
        byte[] v0_7 = p8.getBytes(jp.moneytree.moneytree.common.e$a.a(jp.moneytree.moneytree.common.e.a));
        kotlin.d.b.i.a(v0_7, "(this as java.lang.String).getBytes(charset)");
        String v2_0 = android.util.Base64.decode(v0_7, 2);
        this.b.init(2, ((java.security.Key) this.c), ((java.security.spec.AlgorithmParameterSpec) new javax.crypto.spec.IvParameterSpec(v2_0, 0, jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a))));
        byte[] v0_5 = this.b.doFinal(v2_0, jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a), (v2_0.length - jp.moneytree.moneytree.common.e$a.b(jp.moneytree.moneytree.common.e.a)));
        kotlin.d.b.i.a(v0_5, "decrypted");
        return new String(v0_5, jp.moneytree.moneytree.common.e$a.a(jp.moneytree.moneytree.common.e.a));
    }

Method jp.moneytree.moneytree.common.e.a() calling method javax.crypto.Cipher.doFinal()


    public final String a(String p6)
    {
        kotlin.d.b.i.b(p6, "plainText");
        this.b.init(1, ((java.security.Key) this.c));
        String v0_6 = this.b;
        String v1_1 = p6.getBytes(ark>jp.moneytree.moneytree.common.eark>$a.a(ark>jp.moneytree.moneytree.common.eark>.a));
        kotlin.d.b.i.a(v1_1, "(this as java.lang.String).getBytes(charset)");
        String v0_1 = v0_6.doFinal(v1_1);
        String v1_3 = this.b.getIV();
        byte[] v2_3 = new byte[(v1_3.length + v0_1.length)];
        System.arraycopy(v1_3, 0, v2_3, 0, v1_3.length);
        System.arraycopy(v0_1, 0, v2_3, v1_3.length, v0_1.length);
        String v0_3 = android.util.Base64.encodeToString(v2_3, 2);
        kotlin.d.b.i.a(v0_3, "Base64.encodeToString(buffer, Base64.NO_WRAP)");
        return v0_3;
    }

Method com.google.android.gms.internal.zzdhr.zzd() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzd(byte[] p8, byte[] p9)
    {
        if (p8.length <= 2147483619) {
            byte[] v4 = new byte[((p8.length + 12) + 16)];
            byte[] v1_0 = com.google.android.gms.internal.zzdij.zzfn(12);
            System.arraycopy(v1_0, 0, v4, 0, 12);
            javax.crypto.Cipher v0_2 = ((javax.crypto.Cipher) com.google.android.gms.internal.zzdhy.zzldj.zzny("AES/GCM/NoPadding"));
            v0_2.init(1, this.a, new javax.crypto.spec.GCMParameterSpec(128, v1_0));
            v0_2.updateAAD(p9);
            v0_2.doFinal(p8, 0, p8.length, v4, 12);
            return v4;
        } else {
            throw new java.security.GeneralSecurityException("plaintext too long");
        }
    }

Method com.google.android.gms.internal.zzdhq.zzd() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzd(byte[] p13, byte[] p14)
    {
        int v2 = 0;
        if (p13.length <= ((2147483647 - this.d) - 16)) {
            byte[] v9 = new byte[((this.d + p13.length) + 16)];
            int v3_0 = com.google.android.gms.internal.zzdij.zzfn(this.d);
            System.arraycopy(v3_0, 0, v9, 0, this.d);
            byte[] v1_0 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v1_0.init(1, this.c);
            byte[] v0_8 = this.a(v1_0, 0, v3_0, 0, v3_0.length);
            byte[] v10 = this.a(v1_0, 1, p14, 0, p14.length);
            int v3_3 = javax.crypto.Cipher.getInstance("AES/CTR/NOPADDING");
            v3_3.init(1, this.c, new javax.crypto.spec.IvParameterSpec(v0_8));
            v3_3.doFinal(p13, 0, p13.length, v9, this.d);
            byte[] v1_3 = this.a(v1_0, 2, v9, this.d, p13.length);
            while (v2 < 16) {
                v9[((p13.length + this.d) + v2)] = ((byte) ((v10[v2] ^ v0_8[v2]) ^ v1_3[v2]));
                v2++;
            }
            return v9;
        } else {
            throw new java.security.GeneralSecurityException("plaintext too long");
        }
    }

Method com.google.android.gms.internal.zzdhq.a() calling method javax.crypto.Cipher.doFinal()


    private final byte[] a(javax.crypto.Cipher p8, int p9, byte[] p10, int p11, int p12)
    {
        int v0_5;
        int v0_0 = 0;
        int v1_4 = new byte[16];
        v1_4[15] = ((byte) p9);
        if (p12 != 0) {
            byte v2_7 = 0;
            byte[] v3_0 = p8.doFinal(v1_4);
            while ((p12 - v2_7) > 16) {
                int v1_6 = 0;
                while (v1_6 < 16) {
                    v3_0[v1_6] = ((byte) (v3_0[v1_6] ^ p10[((p11 + v2_7) + v1_6)]));
                    v1_6++;
                }
                v3_0 = p8.doFinal(v3_0);
                v2_7 += 16;
            }
            int v0_2;
            byte v2_1 = java.util.Arrays.copyOfRange(p10, (p11 + v2_7), (p11 + p12));
            if (v2_1.length != 16) {
                int v1_5 = java.util.Arrays.copyOf(this.b, 16);
                while (v0_0 < v2_1.length) {
                    v1_5[v0_0] = ((byte) (v1_5[v0_0] ^ v2_1[v0_0]));
                    v0_0++;
                }
                v1_5[v2_1.length] = ((byte) (v1_5[v2_1.length] ^ 128));
                v0_2 = v1_5;
            } else {
                v0_2 = ark>com.google.android.gms.internal.zzdhqark>.a(v2_1, this.a);
            }
            v0_5 = p8.doFinal(ark>com.google.android.gms.internal.zzdhqark>.a(v3_0, v0_2));
        } else {
            v0_5 = p8.doFinal(ark>com.google.android.gms.internal.zzdhqark>.a(v1_4, this.a));
        }
        return v0_5;
    }

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


    public zzdhq(byte[] p5, int p6)
    {
        if ((p6 == 12) || (p6 == 16)) {
            this.d = p6;
            this.c = new javax.crypto.spec.SecretKeySpec(p5, "AES");
            IllegalArgumentException v0_1 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v0_1.init(1, this.c);
            String v1_1 = new byte[16];
            this.a = com.google.android.gms.internal.zzdhq.a(v0_1.doFinal(v1_1));
            this.b = com.google.android.gms.internal.zzdhq.a(this.a);
            return;
        } else {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        }
    }

Method com.google.android.gms.internal.zzdhp.zzah() calling method javax.crypto.Cipher.doFinal()


    public final byte[] zzah(byte[] p9)
    {
        if (p9.length <= (2147483647 - this.b)) {
            byte[] v4 = new byte[(this.b + p9.length)];
            String v1_0 = com.google.android.gms.internal.zzdij.zzfn(this.b);
            System.arraycopy(v1_0, 0, v4, 0, this.b);
            int v3_1 = p9.length;
            int v5 = this.b;
            java.security.GeneralSecurityException v0_5 = ((javax.crypto.Cipher) com.google.android.gms.internal.zzdhy.zzldj.zzny("AES/CTR/NoPadding"));
            int v6_2 = new byte[this.c];
            System.arraycopy(v1_0, 0, v6_2, 0, this.b);
            v0_5.init(1, this.a, new javax.crypto.spec.IvParameterSpec(v6_2));
            if (v0_5.doFinal(p9, 0, v3_1, v4, v5) == v3_1) {
                return v4;
            } else {
                throw new java.security.GeneralSecurityException("stored output\'s length does not match input\'s length");
            }
        } else {
            throw new java.security.GeneralSecurityException(new StringBuilder(43).append("plaintext length can not exceed ").append((2147483647 - this.b)).toString());
        }
    }

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


    public final String zzc(byte[] p6, byte[] p7)
    {
        if (p6.length == 16) {
            try {
            } catch (String v0_12) {
                throw new com.google.android.gms.internal.zzcy(this, v0_12);
            } catch (String v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (String v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            } catch (String v0_8) {
                throw new com.google.android.gms.internal.zzcy(this, v0_8);
            } catch (String v0_7) {
                throw new com.google.android.gms.internal.zzcy(this, v0_7);
            }
            com.google.android.gms.internal.zzcx.a().init(1, new javax.crypto.spec.SecretKeySpec(p6, "AES"), 0);
            String v0_2 = com.google.android.gms.internal.zzcx.a().doFinal(p7);
            java.nio.ByteBuffer v2_1 = com.google.android.gms.internal.zzcx.a().getIV();
            int v1_2 = (v0_2.length + v2_1.length);
            java.nio.ByteBuffer v3_1 = java.nio.ByteBuffer.allocate(v1_2);
            v3_1.put(v2_1).put(v0_2);
            v3_1.flip();
            String v0_5 = new byte[v1_2];
            v3_1.get(v0_5);
            return com.google.android.gms.internal.zzbt.zza(v0_5, 0);
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

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


    public final byte[] zzb(byte[] p8, String p9)
    {
        if (p8.length == 16) {
            try {
                Throwable v0_12 = com.google.android.gms.internal.zzbt.zza(p9, 0);
            } catch (Throwable v0_16) {
                throw new com.google.android.gms.internal.zzcy(this, v0_16);
            } catch (Throwable v0_15) {
                throw new com.google.android.gms.internal.zzcy(this, v0_15);
            } catch (Throwable v0_14) {
                throw new com.google.android.gms.internal.zzcy(this, v0_14);
            } catch (Throwable v0_13) {
                throw new com.google.android.gms.internal.zzcy(this, v0_13);
            } catch (Throwable v0_11) {
                throw new com.google.android.gms.internal.zzcy(this, v0_11);
            } catch (Throwable v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (Throwable v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            }
            if (v0_12.length > 16) {
                javax.crypto.Cipher v1_0 = java.nio.ByteBuffer.allocate(v0_12.length);
                v1_0.put(v0_12);
                v1_0.flip();
                byte[] v2_2 = new byte[16];
                Throwable v0_3 = new byte[(v0_12.length - 16)];
                v1_0.get(v2_2);
                v1_0.get(v0_3);
                com.google.android.gms.internal.zzcx.a().init(2, new javax.crypto.spec.SecretKeySpec(p8, "AES"), new javax.crypto.spec.IvParameterSpec(v2_2));
                return com.google.android.gms.internal.zzcx.a().doFinal(v0_3);
            } else {
                throw new com.google.android.gms.internal.zzcy(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

Method jp.moneytree.moneytree.common.e.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    private final javax.crypto.spec.SecretKeySpec a(byte[] p4)
    {
        return new javax.crypto.spec.SecretKeySpec(ark>jp.moneytree.moneytree.common.eark>$a.a(ark>jp.moneytree.moneytree.common.eark>.a, p4), "AES");
    }

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


    public final com.google.android.gms.internal.zzdhw zza(String p9, byte[] p10, byte[] p11, int p12, com.google.android.gms.internal.zzdhu p13)
    {
        int v4 = 1;
        com.google.android.gms.internal.zzdhw v0_13 = ((java.security.KeyPairGenerator) com.google.android.gms.internal.zzdhy.zzldo.zzny("EC"));
        v0_13.initialize(this.a.getParams());
        byte[] v1_1 = v0_13.generateKeyPair();
        com.google.android.gms.internal.zzdhw v0_2 = ((java.security.interfaces.ECPublicKey) v1_1.getPublic());
        byte[] v1_3 = ((java.security.interfaces.ECPrivateKey) v1_1.getPrivate());
        com.google.android.gms.internal.zzdhs.zza(this.a.getW(), this.a.getParams().getCurve());
        int v2_4 = ((javax.crypto.KeyAgreement) com.google.android.gms.internal.zzdhy.zzldn.zzny("ECDH"));
        v2_4.init(v1_3);
        v2_4.doPhase(this.a, 1);
        byte[] v1_5 = v2_4.generateSecret();
        byte[] v5_4 = com.google.android.gms.internal.zzdhs.zza(v0_2.getParams().getCurve(), p13, v0_2.getW());
        com.google.android.gms.internal.zzdhw v0_6 = new byte[][2];
        v0_6[0] = v5_4;
        v0_6[1] = v1_5;
        byte[] v1_7 = com.google.android.gms.internal.zzdik.zzc(v0_6);
        com.google.android.gms.internal.zzdhw v0_10 = ((javax.crypto.Mac) com.google.android.gms.internal.zzdhy.zzldk.zzny(p9));
        if (p12 <= (v0_10.getMacLength() * 255)) {
            if ((p10 != null) && (p10.length != 0)) {
                v0_10.init(new javax.crypto.spec.SecretKeySpec(p10, p9));
            } else {
                byte[] v6_1 = new byte[v0_10.getMacLength()];
                v0_10.init(new javax.crypto.spec.SecretKeySpec(v6_1, p9));
            }
            byte[] v6_2 = new byte[p12];
            v0_10.init(new javax.crypto.spec.SecretKeySpec(v0_10.doFinal(v1_7), p9));
            byte[] v1_9 = new byte[0];
            int v2_17 = 0;
            while(true) {
                v0_10.update(v1_9);
                v0_10.update(p11);
                v0_10.update(((byte) v4));
                v1_9 = v0_10.doFinal();
                if ((v1_9.length + v2_17) >= p12) {
                    break;
                }
                System.arraycopy(v1_9, 0, v6_2, v2_17, v1_9.length);
                v2_17 += v1_9.length;
                v4++;
            }
            System.arraycopy(v1_9, 0, v6_2, v2_17, (p12 - v2_17));
            return new com.google.android.gms.internal.zzdhw(v5_4, v6_2);
        } else {
            throw new java.security.GeneralSecurityException("size too large");
        }
    }

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


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

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


    public zzdhq(byte[] p5, int p6)
    {
        if ((p6 == 12) || (p6 == 16)) {
            this.d = p6;
            this.c = new javax.crypto.spec.SecretKeySpec(p5, "AES");
            IllegalArgumentException v0_1 = javax.crypto.Cipher.getInstance("AES/ECB/NOPADDING");
            v0_1.init(1, this.c);
            String v1_1 = new byte[16];
            this.a = com.google.android.gms.internal.zzdhq.a(v0_1.doFinal(v1_1));
            this.b = com.google.android.gms.internal.zzdhq.a(this.a);
            return;
        } else {
            throw new IllegalArgumentException("IV size should be either 12 or 16 bytes");
        }
    }

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


    public zzdhp(byte[] p3, int p4)
    {
        this.a = new javax.crypto.spec.SecretKeySpec(p3, "AES");
        this.c = ((javax.crypto.Cipher) com.google.android.gms.internal.zzdhy.zzldj.zzny("AES/CTR/NoPadding")).getBlockSize();
        if ((p4 >= 12) && (p4 <= this.c)) {
            this.b = p4;
            return;
        } else {
            throw new java.security.GeneralSecurityException("invalid IV size");
        }
    }

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


    public final String zzc(byte[] p6, byte[] p7)
    {
        if (p6.length == 16) {
            try {
            } catch (String v0_12) {
                throw new com.google.android.gms.internal.zzcy(this, v0_12);
            } catch (String v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (String v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            } catch (String v0_8) {
                throw new com.google.android.gms.internal.zzcy(this, v0_8);
            } catch (String v0_7) {
                throw new com.google.android.gms.internal.zzcy(this, v0_7);
            }
            com.google.android.gms.internal.zzcx.a().init(1, new javax.crypto.spec.SecretKeySpec(p6, "AES"), 0);
            String v0_2 = com.google.android.gms.internal.zzcx.a().doFinal(p7);
            java.nio.ByteBuffer v2_1 = com.google.android.gms.internal.zzcx.a().getIV();
            int v1_2 = (v0_2.length + v2_1.length);
            java.nio.ByteBuffer v3_1 = java.nio.ByteBuffer.allocate(v1_2);
            v3_1.put(v2_1).put(v0_2);
            v3_1.flip();
            String v0_5 = new byte[v1_2];
            v3_1.get(v0_5);
            return com.google.android.gms.internal.zzbt.zza(v0_5, 0);
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

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


    public final byte[] zzb(byte[] p8, String p9)
    {
        if (p8.length == 16) {
            try {
                Throwable v0_12 = com.google.android.gms.internal.zzbt.zza(p9, 0);
            } catch (Throwable v0_16) {
                throw new com.google.android.gms.internal.zzcy(this, v0_16);
            } catch (Throwable v0_15) {
                throw new com.google.android.gms.internal.zzcy(this, v0_15);
            } catch (Throwable v0_14) {
                throw new com.google.android.gms.internal.zzcy(this, v0_14);
            } catch (Throwable v0_13) {
                throw new com.google.android.gms.internal.zzcy(this, v0_13);
            } catch (Throwable v0_11) {
                throw new com.google.android.gms.internal.zzcy(this, v0_11);
            } catch (Throwable v0_10) {
                throw new com.google.android.gms.internal.zzcy(this, v0_10);
            } catch (Throwable v0_9) {
                throw new com.google.android.gms.internal.zzcy(this, v0_9);
            }
            if (v0_12.length > 16) {
                javax.crypto.Cipher v1_0 = java.nio.ByteBuffer.allocate(v0_12.length);
                v1_0.put(v0_12);
                v1_0.flip();
                byte[] v2_2 = new byte[16];
                Throwable v0_3 = new byte[(v0_12.length - 16)];
                v1_0.get(v2_2);
                v1_0.get(v0_3);
                com.google.android.gms.internal.zzcx.a().init(2, new javax.crypto.spec.SecretKeySpec(p8, "AES"), new javax.crypto.spec.IvParameterSpec(v2_2));
                return com.google.android.gms.internal.zzcx.a().doFinal(v0_3);
            } else {
                throw new com.google.android.gms.internal.zzcy(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzcy(this);
        }
    }

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


    private final com.google.android.gms.internal.zzdgl a(com.google.android.gms.internal.zzdge$zza p5)
    {
        com.google.android.gms.internal.zzdik.zzp(p5.getVersion(), 0);
        if (p5.zzbjv().size() >= 16) {
            com.google.android.gms.internal.zzdii v0_7;
            ark>com.google.android.gms.internal.liark>.a(p5.zzbli());
            com.google.android.gms.internal.zzdii v0_3 = p5.zzbli().zzblo();
            javax.crypto.spec.SecretKeySpec v2_1 = new javax.crypto.spec.SecretKeySpec(p5.zzbjv().toByteArray(), "HMAC");
            String v1_4 = p5.zzbli().zzblp();
            switch (com.google.android.gms.internal.lj.a[v0_3.ordinal()]) {
                case 1:
                    v0_7 = new com.google.android.gms.internal.zzdii("HMACSHA1", v2_1, v1_4);
                    break;
                case 2:
                    v0_7 = new com.google.android.gms.internal.zzdii("HMACSHA256", v2_1, v1_4);
                    break;
                case 3:
                    v0_7 = new com.google.android.gms.internal.zzdii("HMACSHA512", v2_1, v1_4);
                    break;
                default:
                    throw new java.security.GeneralSecurityException("unknown hash");
            }
            return v0_7;
        } else {
            throw new java.security.GeneralSecurityException("key too short");
        }
    }

Method com.amazonaws.auth.AbstractAWSSigner.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    protected byte[] a(byte[] p5, byte[] p6, com.amazonaws.auth.SigningAlgorithm p7)
    {
        try {
            Exception v0_3 = javax.crypto.Mac.getInstance(p7.toString());
            v0_3.init(new javax.crypto.spec.SecretKeySpec(p6, p7.toString()));
            return v0_3.doFinal(p5);
        } catch (Exception v0_2) {
            throw new com.amazonaws.AmazonClientException(new StringBuilder().append("Unable to calculate a request signature: ").append(v0_2.getMessage()).toString(), v0_2);
        }
    }