Question

dans mon application, j'envoie des rapports de bogue par e-mail.J'ai entendu dire que le codage en dur de mon mot de passe ici n'est pas sécurisé, alors comment le protéger?

Est-il suffisant d'écrire dans mes / res / values puis de le lire à partir de là?

La raison en est que je n'utiliserai pas l'application de messagerie interne.puis l'utilisateur quitte mon application et ce n'est pas très bien car il risque de ne pas revenir

GMailSender sender = new GMailSender("my_emailadress@gmail.com", "my_password");
sender.sendMail("Bugreport", 
                currentQuestion.getID(),   
                "my_emailadress@gmail.com",   
                "my_emailadress@gmail.com"); 

Aidez-moi. Merci

Était-ce utile?

La solution

Vous pouvez utiliser le cryptage SHA pour chiffrer votre mot de passe:

ci-dessous est le code pour utiliser le cryptage SHA:

import java.io.UnsupportedEncodingException; 
import java.security.MessageDigest; 
import java.security.NoSuchAlgorithmException; 

public class AeSimpleSHA1 { 

    private static String convertToHex(byte[] data) { 
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < data.length; i++) { 
            int halfbyte = (data[i] >>> 4) & 0x0F;
            int two_halfs = 0;
            do { 
                if ((0 <= halfbyte) && (halfbyte <= 9)) 
                    buf.append((char) ('0' + halfbyte));
                else 
                    buf.append((char) ('a' + (halfbyte - 10)));
                halfbyte = data[i] & 0x0F;
            } while(two_halfs++ < 1);
        } 
        return buf.toString();
    } 

    public static String SHA1(String text) 
            throws NoSuchAlgorithmException, UnsupportedEncodingException  { 
        MessageDigest md;
        md = MessageDigest.getInstance("SHA-1");
        byte[] sha1hash = new byte[40];
        md.update(text.getBytes("iso-8859-1"), 0, text.length());
        sha1hash = md.digest();
        return convertToHex(sha1hash);
    } 
}

Autres conseils

Il n'y a pas de moyen vraiment sécurisé de protéger votre mot de passe, si vous le mettez du tout dans votre application.La moindre des choses à faire serait de créer un compte séparé, afin qu'il ne soit pas lié à votre compte réel.

En dehors de cela, je recommanderais de ne pas utiliser du tout cette approche.L'utilisation de l'application de messagerie intégrée n'est pas si mauvaise.De cette façon, l'utilisateur le saurait, il contribue à améliorer votre application, ce qui est une bonne chose.

Une troisième possibilité serait de créer une page Web pour soumettre des bogues et envoyer une requête HTTP dans votre application en cas de bogue.Cependant, informez-en l'utilisateur, car sinon, il pourrait penser que vous l'espionnez.

Et puis, il y a le mécanisme de rapport de plantage d'Android qui est intégré, vous n'avez donc rien à faire du tout.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top