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.zzar.zzc() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public byte[] zzc(byte[] p5, String p6)
    {
        if (p5.length == 16) {
            try {
                byte[] v6_16 = this.zzmT.zza(p6, 0);
            } catch (byte[] v5_12) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_12);
            } catch (byte[] v5_11) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_11);
            } catch (byte[] v5_10) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_10);
            } catch (byte[] v5_9) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_9);
            } catch (byte[] v5_8) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_8);
            } catch (byte[] v5_7) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_7);
            } catch (byte[] v5_6) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_6);
            }
            if (v6_16.length > 16) {
                javax.crypto.spec.SecretKeySpec v0_1 = java.nio.ByteBuffer.allocate(v6_16.length);
                v0_1.put(v6_16);
                v0_1.flip();
                byte[] v2_0 = new byte[16];
                byte[] v6_3 = new byte[(v6_16.length - 16)];
                v0_1.get(v2_0);
                v0_1.get(v6_3);
                javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
                byte[] v5_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
                v5_2.init(2, v0_3, new javax.crypto.spec.IvParameterSpec(v2_0));
                return v5_2.doFinal(v6_3);
            } else {
                throw new com.google.android.gms.internal.zzar$zza(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzar$zza(this);
        }
    }

Method com.android.insecurebankv2.CryptoClass.aes256encrypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static byte[] aes256encrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_1.init(1, v1_1, v0_1);
        return v2_1.doFinal(p6);
    }

Method com.android.insecurebankv2.CryptoClass.aes256decrypt() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static byte[] aes256decrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_2.init(2, v1_1, v0_1);
        return v2_2.doFinal(p6);
    }

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


    public byte[] zzc(byte[] p5, String p6)
    {
        if (p5.length == 16) {
            try {
                byte[] v6_16 = this.zzmT.zza(p6, 0);
            } catch (byte[] v5_12) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_12);
            } catch (byte[] v5_11) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_11);
            } catch (byte[] v5_10) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_10);
            } catch (byte[] v5_9) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_9);
            } catch (byte[] v5_8) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_8);
            } catch (byte[] v5_7) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_7);
            } catch (byte[] v5_6) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_6);
            }
            if (v6_16.length > 16) {
                javax.crypto.spec.SecretKeySpec v0_1 = java.nio.ByteBuffer.allocate(v6_16.length);
                v0_1.put(v6_16);
                v0_1.flip();
                byte[] v2_0 = new byte[16];
                byte[] v6_3 = new byte[(v6_16.length - 16)];
                v0_1.get(v2_0);
                v0_1.get(v6_3);
                javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
                byte[] v5_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
                v5_2.init(2, v0_3, new javax.crypto.spec.IvParameterSpec(v2_0));
                return v5_2.doFinal(v6_3);
            } else {
                throw new com.google.android.gms.internal.zzar$zza(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzar$zza(this);
        }
    }

Method com.android.insecurebankv2.CryptoClass.aes256encrypt() calling method javax.crypto.Cipher.getInstance()


    public static byte[] aes256encrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_1.init(1, v1_1, v0_1);
        return v2_1.doFinal(p6);
    }

Method com.android.insecurebankv2.CryptoClass.aes256decrypt() calling method javax.crypto.Cipher.getInstance()


    public static byte[] aes256decrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_2.init(2, v1_1, v0_1);
        return v2_2.doFinal(p6);
    }

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


    public byte[] zzc(byte[] p5, String p6)
    {
        if (p5.length == 16) {
            try {
                byte[] v6_16 = this.zzmT.zza(p6, 0);
            } catch (byte[] v5_12) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_12);
            } catch (byte[] v5_11) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_11);
            } catch (byte[] v5_10) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_10);
            } catch (byte[] v5_9) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_9);
            } catch (byte[] v5_8) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_8);
            } catch (byte[] v5_7) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_7);
            } catch (byte[] v5_6) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_6);
            }
            if (v6_16.length > 16) {
                javax.crypto.spec.SecretKeySpec v0_1 = java.nio.ByteBuffer.allocate(v6_16.length);
                v0_1.put(v6_16);
                v0_1.flip();
                byte[] v2_0 = new byte[16];
                byte[] v6_3 = new byte[(v6_16.length - 16)];
                v0_1.get(v2_0);
                v0_1.get(v6_3);
                javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
                byte[] v5_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
                v5_2.init(2, v0_3, new javax.crypto.spec.IvParameterSpec(v2_0));
                return v5_2.doFinal(v6_3);
            } else {
                throw new com.google.android.gms.internal.zzar$zza(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzar$zza(this);
        }
    }

Method com.android.insecurebankv2.CryptoClass.aes256encrypt() calling method javax.crypto.Cipher.doFinal()


    public static byte[] aes256encrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_1.init(1, v1_1, v0_1);
        return v2_1.doFinal(p6);
    }

Method com.android.insecurebankv2.CryptoClass.aes256decrypt() calling method javax.crypto.Cipher.doFinal()


    public static byte[] aes256decrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_2.init(2, v1_1, v0_1);
        return v2_2.doFinal(p6);
    }

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


    public byte[] zzc(byte[] p5, String p6)
    {
        if (p5.length == 16) {
            try {
                byte[] v6_16 = this.zzmT.zza(p6, 0);
            } catch (byte[] v5_12) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_12);
            } catch (byte[] v5_11) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_11);
            } catch (byte[] v5_10) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_10);
            } catch (byte[] v5_9) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_9);
            } catch (byte[] v5_8) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_8);
            } catch (byte[] v5_7) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_7);
            } catch (byte[] v5_6) {
                throw new com.google.android.gms.internal.zzar$zza(this, v5_6);
            }
            if (v6_16.length > 16) {
                javax.crypto.spec.SecretKeySpec v0_1 = java.nio.ByteBuffer.allocate(v6_16.length);
                v0_1.put(v6_16);
                v0_1.flip();
                byte[] v2_0 = new byte[16];
                byte[] v6_3 = new byte[(v6_16.length - 16)];
                v0_1.get(v2_0);
                v0_1.get(v6_3);
                javax.crypto.spec.SecretKeySpec v0_3 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
                byte[] v5_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
                v5_2.init(2, v0_3, new javax.crypto.spec.IvParameterSpec(v2_0));
                return v5_2.doFinal(v6_3);
            } else {
                throw new com.google.android.gms.internal.zzar$zza(this);
            }
        } else {
            throw new com.google.android.gms.internal.zzar$zza(this);
        }
    }

Method com.android.insecurebankv2.CryptoClass.aes256encrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static byte[] aes256encrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_1 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_1.init(1, v1_1, v0_1);
        return v2_1.doFinal(p6);
    }

Method com.android.insecurebankv2.CryptoClass.aes256decrypt() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static byte[] aes256decrypt(byte[] p4, byte[] p5, byte[] p6)
    {
        javax.crypto.spec.IvParameterSpec v0_1 = new javax.crypto.spec.IvParameterSpec(p4);
        javax.crypto.spec.SecretKeySpec v1_1 = new javax.crypto.spec.SecretKeySpec(p5, "AES");
        javax.crypto.Cipher v2_2 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v2_2.init(2, v1_1, v0_1);
        return v2_2.doFinal(p6);
    }