Mot de passe protéger mon application android (le moyen le plus simple)
J'ai construit ma première application, et je voudrais protéger par mot de passe. C'est bien pour moi de stocker le mot de passe dans les fichiers Java et la méthode doit être aussi simple que possible, car je n'ai aucune expérience de java ou encore xml avant cette application. J'ai eu quelques tentatives et a échoué alors j'espérais que quelqu'un peut m'aider.
J'ai créé la mise en page avec un EditText champ:
<EditText
android:id="@+id/passwordedittext"
android:layout_width="200dp"
android:layout_height="50dp"
android:inputType="textPassword"
android:layout_marginTop="40dp"
android:layout_marginLeft="20dp">
<requestFocus />
et un bouton de soumission:
<Button
android:id="@+id/submitbutton"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="40dp"
android:background="@drawable/bgo"
android:clickable="true"
android:layout_gravity="right|center_horizontal"
android:layout_marginRight="20dp"/>
Le fichier Java:
package com.berry;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
public class password extends Activity{
MediaPlayer mpbuttonclick;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
setContentView(R.layout.password);
mpbuttonclick = MediaPlayer.create(this, R.raw.keypress);
Button sumbitButton = (Button) findViewById(R.id.submitbutton);
sumbitButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v){
EditText passwordEditText = (EditText) findViewById(R.id.passwordedittext);
if(passwordEditText.getText().toString()=="MyPasswordHere"){
startActivity(new Intent("com.berry.intro"));
mpbuttonclick.start();
}}});
}}
OriginalL'auteur SuperKombol | 2012-02-19
Vous devez vous connecter pour publier un commentaire.
Cette partie:
est incorrect. Il devrait être
Lorsque l'on compare les types de données primitifs (comme
int
,char
,boolean
), vous pouvez utiliser==
,!=
, etc.Lors de la comparaison des objets (comme des
String
,Car
, etc) vous devez utiliser le.equals()
méthode.Voir aussi cette page.
OriginalL'auteur nhaarman
Il n'est pas sûr de vérifier votre mot de passe comme ça.
Il existe plusieurs façons de facilement contourner votre code
L'appel de l'activité directement depuis une autre Application
La lecture de la démonté smali code pour récupérer le mot de passe
Modifiant le code à l'aide de smali à toujours sauter dans le codeblock
Solutions disponibles pour résoudre ces problèmes:
Obscurcir votre code (la Pire option, mais peut être suffisant dans la plupart des cas)
Comparant les Hachage De Mot De Passe: Beaucoup plus sécurisé. Mais il devrait être un salée de Hachage.
(Il est également plus simple à comprendre, explication pour la mise en œuvre)
Utilisation d'une Requête HTTP à un serveur de la vôtre pour cacher le mécanisme derrière le mot de passe de vérifier. (Mais qui nécessite de l'application de poser pour la mise en Réseau des Autorisations)
Merci pour l'astuce, j'ai ajouté un lien pour remédier à ce problème.
Merci pour les conseils, je vais regarder dans vos solutions pour construire quelque chose de plus substantiel.
OriginalL'auteur devsnd
Dans le champ de texte à modifier xml vous pouvez ajouter
La zone de texte modifier montre les points de toute façon depuis le inputtype a été défini comme textpassword dans le xml. Merci.
OriginalL'auteur Nitesh Khosla