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


    public static byte[] a(ark>iCark>$a p4, ark>iCark>$c p5)
    {
        if (!ark>iCark>.a(ark>iCark>.a(ark>iCark>$a.a(p4.b(), p4.a()), p5.b()), p4.c())) {
            throw new java.security.GeneralSecurityException("MAC stored in civ does not match computed MAC.");
        } else {
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            v0_3.init(2, p5.a(), new javax.crypto.spec.IvParameterSpec(p4.b()));
            return v0_3.doFinal(p4.a());
        }
    }

Method iC.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static ark>iCark>$a a(byte[] p4, ark>iCark>$c p5)
    {
        byte[] v0_0 = ark>iCark>.b();
        ark>iCark>$a v1_4 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v1_4.init(1, p5.a(), new javax.crypto.spec.IvParameterSpec(v0_0));
        byte[] v0_1 = v1_4.getIV();
        byte[] v4_1 = v1_4.doFinal(p4);
        return new ark>iCark>$a(v4_1, v0_1, ark>iCark>.a(ark>iCark>$a.a(v0_1, v4_1), p5.b()));
    }

Method WB.b() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static String b(String p6)
    {
        if (!android.text.TextUtils.isEmpty(p6)) {
            try {
                int v2_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(WB.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v3_3 = new javax.crypto.spec.IvParameterSpec(WB.a.getBytes("UTF8"));
                String v0_1 = p6.getBytes("UTF8");
                javax.crypto.Cipher v4_3 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v4_3.init(1, v2_0, v3_3);
                String v0_3 = android.util.Base64.encodeToString(v4_3.doFinal(v0_1), 0);
            } catch (String v6_1) {
                v6_1.printStackTrace();
                p6 = "";
                v0_3 = "";
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            }
            if (p6.equals(v0_3)) {
                v0_3 = "";
            }
            return v0_3;
        } else {
            return p6;
        }
    }

Method WB.a() calling method javax.crypto.spec.IvParameterSpec.<init>()


    public static String a(String p4)
    {
        if (!android.text.TextUtils.isEmpty(p4)) {
            try {
                javax.crypto.SecretKey v1_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(ark>WBark>.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v2_2 = new javax.crypto.spec.IvParameterSpec(ark>WBark>.a.getBytes("UTF8"));
                String v4_1 = android.util.Base64.decode(p4, 0);
                String v0_4 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v0_4.init(2, v1_0, v2_2);
                return new String(v0_4.doFinal(v4_1));
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            }
        } else {
            return p4;
        }
    }

Method iC.c() calling method javax.crypto.KeyGenerator.getInstance()


    public static iC$c c()
    {
        iC.a();
        javax.crypto.SecretKey v0_1 = javax.crypto.KeyGenerator.getInstance("AES");
        v0_1.init(128);
        return new iC$c(v0_1.generateKey(), new javax.crypto.spec.SecretKeySpec(iC.a(32), "HmacSHA256"));
    }

Method iC.c() calling method javax.crypto.KeyGenerator.generateKey()


    public static iC$c c()
    {
        iC.a();
        javax.crypto.SecretKey v0_1 = javax.crypto.KeyGenerator.getInstance("AES");
        v0_1.init(128);
        return new iC$c(v0_1.generateKey(), new javax.crypto.spec.SecretKeySpec(iC.a(32), "HmacSHA256"));
    }

Method iC.a() calling method javax.crypto.Cipher.getInstance()


    public static byte[] a(ark>iCark>$a p4, ark>iCark>$c p5)
    {
        if (!ark>iCark>.a(ark>iCark>.a(ark>iCark>$a.a(p4.b(), p4.a()), p5.b()), p4.c())) {
            throw new java.security.GeneralSecurityException("MAC stored in civ does not match computed MAC.");
        } else {
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            v0_3.init(2, p5.a(), new javax.crypto.spec.IvParameterSpec(p4.b()));
            return v0_3.doFinal(p4.a());
        }
    }

Method iC.a() calling method javax.crypto.Cipher.getInstance()


    public static ark>iCark>$a a(byte[] p4, ark>iCark>$c p5)
    {
        byte[] v0_0 = ark>iCark>.b();
        ark>iCark>$a v1_4 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v1_4.init(1, p5.a(), new javax.crypto.spec.IvParameterSpec(v0_0));
        byte[] v0_1 = v1_4.getIV();
        byte[] v4_1 = v1_4.doFinal(p4);
        return new ark>iCark>$a(v4_1, v0_1, ark>iCark>.a(ark>iCark>$a.a(v0_1, v4_1), p5.b()));
    }

Method WB.b() calling method javax.crypto.Cipher.getInstance()


    public static String b(String p6)
    {
        if (!android.text.TextUtils.isEmpty(p6)) {
            try {
                int v2_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(WB.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v3_3 = new javax.crypto.spec.IvParameterSpec(WB.a.getBytes("UTF8"));
                String v0_1 = p6.getBytes("UTF8");
                javax.crypto.Cipher v4_3 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v4_3.init(1, v2_0, v3_3);
                String v0_3 = android.util.Base64.encodeToString(v4_3.doFinal(v0_1), 0);
            } catch (String v6_1) {
                v6_1.printStackTrace();
                p6 = "";
                v0_3 = "";
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            }
            if (p6.equals(v0_3)) {
                v0_3 = "";
            }
            return v0_3;
        } else {
            return p6;
        }
    }

Method WB.a() calling method javax.crypto.Cipher.getInstance()


    public static String a(String p4)
    {
        if (!android.text.TextUtils.isEmpty(p4)) {
            try {
                javax.crypto.SecretKey v1_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(ark>WBark>.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v2_2 = new javax.crypto.spec.IvParameterSpec(ark>WBark>.a.getBytes("UTF8"));
                String v4_1 = android.util.Base64.decode(p4, 0);
                String v0_4 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v0_4.init(2, v1_0, v2_2);
                return new String(v0_4.doFinal(v4_1));
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            }
        } else {
            return p4;
        }
    }

Method iC.a() calling method javax.crypto.Cipher.getIV()


    public static ark>iCark>$a a(byte[] p4, ark>iCark>$c p5)
    {
        byte[] v0_0 = ark>iCark>.b();
        ark>iCark>$a v1_4 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v1_4.init(1, p5.a(), new javax.crypto.spec.IvParameterSpec(v0_0));
        byte[] v0_1 = v1_4.getIV();
        byte[] v4_1 = v1_4.doFinal(p4);
        return new ark>iCark>$a(v4_1, v0_1, ark>iCark>.a(ark>iCark>$a.a(v0_1, v4_1), p5.b()));
    }

Method iC.a() calling method javax.crypto.Cipher.doFinal()


    public static byte[] a(ark>iCark>$a p4, ark>iCark>$c p5)
    {
        if (!ark>iCark>.a(ark>iCark>.a(ark>iCark>$a.a(p4.b(), p4.a()), p5.b()), p4.c())) {
            throw new java.security.GeneralSecurityException("MAC stored in civ does not match computed MAC.");
        } else {
            javax.crypto.Cipher v0_3 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
            v0_3.init(2, p5.a(), new javax.crypto.spec.IvParameterSpec(p4.b()));
            return v0_3.doFinal(p4.a());
        }
    }

Method iC.a() calling method javax.crypto.Cipher.doFinal()


    public static ark>iCark>$a a(byte[] p4, ark>iCark>$c p5)
    {
        byte[] v0_0 = ark>iCark>.b();
        ark>iCark>$a v1_4 = javax.crypto.Cipher.getInstance("AES/CBC/PKCS5Padding");
        v1_4.init(1, p5.a(), new javax.crypto.spec.IvParameterSpec(v0_0));
        byte[] v0_1 = v1_4.getIV();
        byte[] v4_1 = v1_4.doFinal(p4);
        return new ark>iCark>$a(v4_1, v0_1, ark>iCark>.a(ark>iCark>$a.a(v0_1, v4_1), p5.b()));
    }

Method WB.b() calling method javax.crypto.Cipher.doFinal()


    public static String b(String p6)
    {
        if (!android.text.TextUtils.isEmpty(p6)) {
            try {
                int v2_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(WB.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v3_3 = new javax.crypto.spec.IvParameterSpec(WB.a.getBytes("UTF8"));
                String v0_1 = p6.getBytes("UTF8");
                javax.crypto.Cipher v4_3 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v4_3.init(1, v2_0, v3_3);
                String v0_3 = android.util.Base64.encodeToString(v4_3.doFinal(v0_1), 0);
            } catch (String v6_1) {
                v6_1.printStackTrace();
                p6 = "";
                v0_3 = "";
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            } catch (String v6_1) {
            }
            if (p6.equals(v0_3)) {
                v0_3 = "";
            }
            return v0_3;
        } else {
            return p6;
        }
    }

Method WB.a() calling method javax.crypto.Cipher.doFinal()


    public static String a(String p4)
    {
        if (!android.text.TextUtils.isEmpty(p4)) {
            try {
                javax.crypto.SecretKey v1_0 = javax.crypto.SecretKeyFactory.getInstance("DES").generateSecret(new javax.crypto.spec.DESKeySpec(ark>WBark>.a.getBytes("UTF8")));
                javax.crypto.spec.IvParameterSpec v2_2 = new javax.crypto.spec.IvParameterSpec(ark>WBark>.a.getBytes("UTF8"));
                String v4_1 = android.util.Base64.decode(p4, 0);
                String v0_4 = javax.crypto.Cipher.getInstance("DES/CFB/NoPadding");
                v0_4.init(2, v1_0, v2_2);
                return new String(v0_4.doFinal(v4_1));
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            } catch (String v4_3) {
                v4_3.printStackTrace();
                return "";
            }
        } else {
            return p4;
        }
    }

Method iC.c() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static iC$c c()
    {
        iC.a();
        javax.crypto.SecretKey v0_1 = javax.crypto.KeyGenerator.getInstance("AES");
        v0_1.init(128);
        return new iC$c(v0_1.generateKey(), new javax.crypto.spec.SecretKeySpec(iC.a(32), "HmacSHA256"));
    }

Method iC.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static ark>iCark>$c a(String p2, byte[] p3, int p4)
    {
        ark>iCark>.a();
        ark>iCark>$c v2_2 = javax.crypto.SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1").generateSecret(new javax.crypto.spec.PBEKeySpec(p2.toCharArray(), p3, p4, 384)).getEncoded();
        return new ark>iCark>$c(new javax.crypto.spec.SecretKeySpec(ark>iCark>.a(v2_2, 0, 16), "AES"), new javax.crypto.spec.SecretKeySpec(ark>iCark>.a(v2_2, 16, 48), "HmacSHA256"));
    }

Method iC.a() calling method javax.crypto.spec.SecretKeySpec.<init>()


    public static ark>iCark>$c a(String p6)
    {
        java.security.InvalidKeyException v6_3 = p6.split(":");
        if (v6_3.length != 2) {
            throw new IllegalArgumentException("Cannot parse aesKey:hmacKey");
        } else {
            String v2_1 = android.util.Base64.decode(v6_3[0], 2);
            if (v2_1.length != 16) {
                throw new java.security.InvalidKeyException("Base64 decoded key is not 128 bytes");
            } else {
                java.security.InvalidKeyException v6_5 = android.util.Base64.decode(v6_3[1], 2);
                if (v6_5.length != 32) {
                    throw new java.security.InvalidKeyException("Base64 decoded key is not 256 bytes");
                } else {
                    return new ark>iCark>$c(new javax.crypto.spec.SecretKeySpec(v2_1, 0, v2_1.length, "AES"), new javax.crypto.spec.SecretKeySpec(v6_5, "HmacSHA256"));
                }
            }
        }
    }