Comment les variables sont-elles stockées après la compilation?

J’ai dans mon programme (écrit en Java) une variable:

Ssortingng myPassword 

Après avoir compilé le code avec Android Studio, je reçois une application Android et j’aimerais permettre à d’autres personnes de l’utiliser.

Mais j’ai peur: les utilisateurs peuvent-ils obtenir la valeur de la variable (mot de passe) à partir de l’application?

Disons que la valeur du mot de passe est “myPass” . Son binary est:

01101101 01111001 01010000 01100001 01110011 01110011

Le fichier binary de l’application contiendra-t-il cette séquence?

Si vous décomstackz vos classes avec javap -c -p -constants par exemple, vous verrez ces chaînes:

 public class DeleteMe { private static final Ssortingng test = "def"; public static void main(Ssortingng[] args) { Ssortingng test = "abc"; } } 

donnerait (les deux lignes importantes):

 private static final java.lang.Ssortingng test = "def"; ldc #2 // Ssortingng abc 

Sinon, le stockage des mots de passe dans votre application est vraiment mauvais. Habituellement, les gens utilisent une sorte de firebase database dans laquelle les mots de passe sont conservés, par exemple.

Il faut également lire à propos de Ssortingng et char[] pour les mots de passe.