2012-06-22 5 views
-2

Можно создать дубликат:
Password protecting my android app (the simple way)Создание проверки пароля для моего Android приложения

Edit:

я основал то, что я хочу здесь: Password protecting my android app (the simple way)

старый

(У меня есть TextField с именем password. Если пользователь вводит правильный пароль 123, нажав кнопку, я хочу, чтобы пользователь перешел к другому действию. Если введен неправильный пароль, должно отображаться сообщение, такое как "Wrong password!". Фактический пароль сам находится в файле, расположенном по адресу /sdcard/Android/password.txt. ?

Как я могу создать такую ​​функциональность)

ответ

0

Вы должны покрыть много места здесь UI, безопасность и т. д., поэтому я дам вам краткий обзор шагов, которые вам нужно выполнить.

Вы должны деятельности или dialogs для UI-х, получить начальный пароль и проверки пароля оба должны иметь

TextView, который использует атрибут пароля набор (скрытие символов)

Button (s), что позволяет чтобы отменить или выбрать ok при подключенном клике.

Чтобы сохранить/получить пароль, используйте вместо этого что-то похожее на это вместо sdcard и txt-файла Getting a password from shared preferences, вы также можете использовать редактор общих настроек, чтобы сохранить его. Это добавляет немного безопасности, но не так много

В общем то, что вы должны хранить не сам пароль, но вы действительно должны хранить маркер для дополнительной безопасности, здесь один класс, который может сделать это для вас

import java.security.MessageDigest; 

public class PasswordToken { 

    static public String makeDigest(String password) 
    { 
     String hexStr = ""; 

     try { 
      MessageDigest md = MessageDigest.getInstance("SHA1"); 
      md.reset(); 
      byte[] buffer = password.getBytes(); 
      md.update(buffer); 
      byte[] digest = md.digest(); 


      for (int i = 0; i < digest.length; i++) { 
       hexStr += Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1); 

     } 
     } catch(Exception e) // If the algo is not working for some reason on this device 
          // we have to use the strings hash code, which 
          // could allow duplicates but at least allows tokens 
     { 
      hexStr = Integer.toHexString(password.hashCode()); 
     } 

     return hexStr; 
    } 

    static public boolean validate(String password, String token) 
    { 
     String digestToken = ""; 
     String simpleToken = ""; 

     digestToken = makeDigest(password); 

     if (0 == digestToken.compareTo(token)) 
      return true; 

     if (0 == simpleToken.compareTo(token)) 
      return true; 

     return false; 
    } 
} 

Так хранить пароль при нажатии на кнопку ОК вашей

PasswordTextView.getText(); 
    String token = PasswordToken.makeDigest(password); 
    //... store TOKEN using the shared preferences editor 

для проверки пароля, когда ваш пользователь хочет войти в

PasswordTextView.GetText(); 
    String token = PasswordToken.makeDigest(password); 
    //... GET token using the shared preferences 

    if (PasswordToken.validate(token)) 
    Start your new activity 
    else 
    tell your user to try again 

Вы можете использовать startActivity or startActivityForResult, чтобы начать другое действие и посмотреть, как переопределить класс Dialog для выполнения бит пользовательского интерфейса.

+0

YEAH! Я нашел то, что мне нужно! – user1475122

0

Может быть, вы должны сначала прочитать немного о Android и сделать начинающие учебники:

Это показывает, как получить поле и доступ к контенту: http://developer.android.com/training/basics/firstapp/building-ui.html

Это один должен дать вам некоторые Knowlege о смене деятельности: http://developer.android.com/training/basics/firstapp/starting-activity.html

+0

YEAH! Я нашел то, что мне нужно! – user1475122

Смежные вопросы