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.ofss.fcdb.mobile.android.phone.helpers.a.a() calling method javax.crypto.Cipher.doFinal()


    public static String a(String p4, android.content.Context p5)
    {
        String v0_1;
        if (p4 != null) {
            if (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i)) {
                ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i = new StringBuilder("00").append(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.c("PARAM.VALUE.RSA.MODULUS", p5)).toString();
            }
            if (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j)) {
                ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j = new StringBuilder("0").append(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.c("PARAM.VALUE.RSA.EXPONENT", p5)).toString();
            }
            if ((ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j)) || (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i))) {
                String v1_14 = 0;
                javax.crypto.Cipher v2_4 = 0;
            } else {
                v2_4 = new java.math.BigInteger(com.ofss.fcdb.mobile.android.phone.helpers.q.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i));
                v1_14 = new java.math.BigInteger(com.ofss.fcdb.mobile.android.phone.helpers.q.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j));
            }
            try {
                int v3_3 = new java.security.spec.RSAPublicKeySpec(v2_4, v1_14);
                String v1_19 = java.security.KeyFactory.getInstance("RSA");
                javax.crypto.Cipher v2_7 = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
                v2_7.init(1, v1_19.generatePublic(v3_3));
                v0_1 = com.ofss.fcdb.mobile.android.phone.helpers.q.a(v2_7.doFinal(p4.getBytes()));
            } catch (String v1_24) {
                com.ofss.fcdb.mobile.android.b.d.a.a(android.util.Log.getStackTraceString(v1_24));
            }
        } else {
            v0_1 = "";
        }
        return v0_1;
    }

Method com.ofss.fcdb.mobile.android.phone.helpers.a.a() calling method javax.crypto.Cipher.getInstance()


    public static String a(String p4, android.content.Context p5)
    {
        String v0_1;
        if (p4 != null) {
            if (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i)) {
                ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i = new StringBuilder("00").append(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.c("PARAM.VALUE.RSA.MODULUS", p5)).toString();
            }
            if (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j)) {
                ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j = new StringBuilder("0").append(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.c("PARAM.VALUE.RSA.EXPONENT", p5)).toString();
            }
            if ((ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j)) || (ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i))) {
                String v1_14 = 0;
                javax.crypto.Cipher v2_4 = 0;
            } else {
                v2_4 = new java.math.BigInteger(com.ofss.fcdb.mobile.android.phone.helpers.q.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.i));
                v1_14 = new java.math.BigInteger(com.ofss.fcdb.mobile.android.phone.helpers.q.a(ark>com.ofss.fcdb.mobile.android.phone.helpers.aark>.j));
            }
            try {
                int v3_3 = new java.security.spec.RSAPublicKeySpec(v2_4, v1_14);
                String v1_19 = java.security.KeyFactory.getInstance("RSA");
                javax.crypto.Cipher v2_7 = javax.crypto.Cipher.getInstance("RSA/ECB/PKCS1Padding");
                v2_7.init(1, v1_19.generatePublic(v3_3));
                v0_1 = com.ofss.fcdb.mobile.android.phone.helpers.q.a(v2_7.doFinal(p4.getBytes()));
            } catch (String v1_24) {
                com.ofss.fcdb.mobile.android.b.d.a.a(android.util.Log.getStackTraceString(v1_24));
            }
        } else {
            v0_1 = "";
        }
        return v0_1;
    }