Maison >Java >javaDidacticiel >Comment masquer en toute sécurité les données sensibles dans votre application Android : l'obscurcissement est-il suffisant ?
Masquage de données sensibles dans du code obscurci
Lors du déploiement de votre application Android, vous pouvez rencontrer des problèmes concernant l'exposition de données sensibles, telles que les URL de serveur, en code décompilé. Les techniques d'obscurcissement telles que ProGuard offrent une certaine protection, mais peuvent ne pas masquer efficacement toutes les chaînes.
Chiffrement et décodage des chaînes
Pour résoudre ce problème, envisagez de mettre en œuvre des mécanismes personnalisés d'encodage ou de chiffrement. les cordes. Pour une obscurité de base, vous pouvez utiliser la classe android.util.Base64. Cependant, cette approche offre une protection limitée car elle peut être facilement décodée.
Pour une protection plus renforcée, utilisez le cryptage via la classe javax.crypto.Cipher. Choisissez un chiffrement symétrique comme AES et stockez la clé de chiffrement en toute sécurité dans votre application. Cette méthode est plus fastidieuse que sécurisée, car la clé peut être exposée dans le fichier JAR.
Modification du code pour utiliser des chaînes chiffrées
Modifiez le code pour utiliser le code déchiffré. version de la chaîne sensible au lieu de la valeur brute. Cela implique généralement le déchiffrement de la chaîne au démarrage ou à l'initialisation de la classe ou de l'objet concerné. Exemple :
Avant :
<code class="java">public class Foo { private String mySecret = "http://example.com"; ... }</code>
Après :
<code class="java">public class Foo { private String encrypted = "..." // Manually created encrypted string private String key = "..."; // Encryption key private String mySecret = MyDecryptUtil.decrypt(encrypted, key); ... }</code>
Solutions alternatives
Envisagez de faire appel à un tiers Solution DRM comme le service de licence de Google. Cela peut constituer une alternative plus sûre aux mécanismes de protection auto-implémentés, mais peut avoir ses propres limites et exigences.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!