Tengo una rutina de cifrado y descifrado de mcrypt en una de mis aplicaciones de Android. Esto es esencialmente descifrar una cadena que se busca a través de. llamada remota. Naturalmente, la "clave secreta" se almacena dentro del código, pero cualquiera con apktool puede ver el código y ver mi clave secreta.Mantener la clave secreta SECRETO - dentro de la aplicación de Android ... cualquier idea
¿Hay alguna forma de encriptar todo el código Java para que incluso si no se compile, no sea legible/comprensible?
He oído hablar de ProGuard, pero al leer sobre él, no parece suficiente para este propósito.
La pregunta es ¿por qué la cadena está encriptada? Si se trata de seguridad de transporte y almacenamiento del servidor, utilice el cifrado de clave pública. Si desea "ocultarlo" a los usuarios, no tiene suerte, ya que todo lo que su aplicación puede "ver" también lo pueden hacer los usuarios. –
La cadena está encriptada para ocultar la ubicación de un archivo que se transmite por secuencias: la intención es ofuscar y al menos dificultar que usuarios ocasionales/script kiddies descarguen el mp3 independientemente de la aplicación. Sé lo que dices y entiendo completamente que cualquier cosa que la aplicación pueda ver, cualquiera que esté lo suficientemente determinado como para depurar, descifrar o descompilar, solo estoy tratando de hacerlo más difícil. Alguien determinado aún pasará por todo eso y tendrá éxito. No es gran cosa ... simplemente mantén alejados a los kiddies de script básicamente ... – SpacialWise
¿Por qué no hacer que el cliente genere el par de claves y envíe su clave pública al servidor con la solicitud? –