Android: ¿Es seguro poner una cadena sensible en mi código Java?

Mi aplicación utiliza varias claves de API y URL que no puedo permitir a los usuarios ver. He estado poniéndolos directamente en el código, a veces incrustado en el método que los utiliza ya veces en una clase llamada MyVals que almacena las cadenas y los números de uso común.

p.ej:

public class MyVals { private LGVals(){} public static final String DB_URL = "https://mydb.dbprovider.org/"; public static final String DB_Key = "klJF*(oh8iyhkkde"; public static final String TableKey_UserList = "o9w6owifhayf98fnwihj"; } 

¿Es seguro? ¿Hace una diferencia si estoy creando mi APK con Proguard? ¿Cuál es la mejor práctica para esto?

2 Solutions collect form web for “Android: ¿Es seguro poner una cadena sensible en mi código Java?”

No es absolutamente seguro incrustar cadenas sensibles en su código. Proguard ofusca los nombres de clase y método, pero cualquier cadena definida permanece completamente sin cambios. He aquí un ejemplo de una aplicación que he ejecutado a través de Proguard. Puede ver que el método y los nombres de clase se ofuscan, pero las cadenas (como deben ser) no cambian.

Aquí está el código original:

 public void shutdown() { if (logger.logDebug()) { logger.logDebug(LOGTAG, "Queuing shutdown message ..."); } queueMessage(new BaseMessage(true)); } 

Y el código ofuscado, fácilmente obtenido por JD-GUI:

  public void c() { if (c.logDebug()) c.logDebug("MsgRouter", "Queuing shutdown message ..."); a(new a(true)); } 

Si incrusta datos sensibles en una cadena en su aplicación, puede y se descompilará .

No, esto no es seguro.

Debe por lo menos poner la información en SharedPreferences.

Pero aún así, cualquiera con acceso root podría leerlos.

  • Copia automática de Android Proguard mapping Android Studio
  • Obfuscating ActionBarSherlock con Proguard
  • Proguard Parse Error de excepción. Cómo resolverlo
  • ProGuard y Gson en Android (ClassCastException)
  • Configuración de Android Proguard para la v7 Support Library ActionBar
  • FileNotFoundException en el archivo proguard-rules.pro
  • Proyecto Android: Problema de exportación Lanzamiento cancelado! Proguard devuelto con el código de error 1. Consulte consola
  • ¿Cómo se pueden reducir las aplicaciones scala para Android en tamaño de archivo?
  • Servicios de Google Play con Proguard en Android Studio
  • Obtener advertencias con Proguard (con bibliotecas externas)
  • La ejecución falló para la tarea ': app: transformClassesAndResourcesWithProguardForRelease
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.